呓语 | 杨英明的个人博客

专注于c++、Python,欢迎交流

By

新浪云SAE搭建python环境 问题拾遗

1、python程序部署到sae上需要做的改动

在线上需要转换成wsgi的形式运行python程序。

sae中运行python程序需要指定一个函数为入口函数。

application = sae.create_wsgi_app(main)

main函数是你定义的入口函数,在这里面你可以调用你定义的其它函数。

sae.create_wsgi_app(main) 创建main为入口函数,将入口地址返回给application。

运行这个程序的时候sae会直接找到application,运行这个python程序。

另外入口函数(main)必须要有两个参数:environ 和 start_response

所以你的入口函数要这样写:

1 def main(environ,start_response):
2     status = '200 OK'
3     response_headers = [('Content-type','text/plain')]
4     write = start_response(status,response_headers)
5 
6     return ['Hello world']

这里面定义了一个返回的包,status为状态码,200表示成功,response_headers为包的头部,return返回body的内容,组合起来就是一个完整的包。

sae中运行python程序基本就要做这些改变,你的其它程序可以在main函数的基础上扩充。另外还有sae不支持一些第三方库的问题,这一节不赘述了。

关于程序的设置详见官方文档:请求处理

 

2、sae git 提交记住用户名、密码

详见:使用GitBash记住在新浪Sae上Git仓库的帐号密码,以后再也不用输帐号密码啦!

 

3、运行 git 脚本

调试的时候每次重复输入几条命令比较麻烦?试试将所有命令写成一个小脚本来运行!

使用方法:

git config --global alias.push1 '!git add . && git commit -m "update" && git push sae master:1'

git控制台中直接运行:

git push1

就可以运行这个脚本啦!

参考自:Git批处理脚本

 

4、wsgi处理get请求

参考自:web python -- WSGI接口GET请求

 WSGI接口 <==处理url路径问题

 

Freecode# : www.cnblogs.com/yym2013

原创声明

转载请注明:呓语 » 新浪云SAE搭建python环境 问题拾遗