使用Google App Engine管理第三方Python库的最佳策略是什么?
说我想使用Flask,一个webapp框架.博客条目说这样做,这似乎不对:
$ cd /tmp/
$ wget http://pypi.python.org/packages/source/F/Flask/Flask-0.6.1.tar.gz
$ tar zxf Flask-0.6.1.tar.gz
$ cp -r Flask-0.6.1/flask ~/path/to/project/
(... repeat for other packages ...)
Run Code Online (Sandbox Code Playgroud)
必须有更好的方法来管理第三方代码,特别是如果我想跟踪版本,测试升级或两个库共享一个子目录.我知道,Python可以从zipfiles导入模块和PIP可以用美妙的需求文件工作,我已经看到了PIP具有zip与GAE使用命令.
我目前正在使用Flask和Google App Engine开展一个项目.get_flashed_messages()当我刷新消息时,调用返回空,然后使用redirect():
@views.route('/todo/add', methods=["POST"])
def add_todo():
flash('hey')
return redirect(url_for('todo_list'))
Run Code Online (Sandbox Code Playgroud)
但是,如果我发表评论
# SERVER_NAME = 'localhost'
Run Code Online (Sandbox Code Playgroud)
那似乎工作正常.我的问题是我必须使用子域名,因此我需要设置SERVER_NAME.
这笔交易是什么?
我仍在收集信息,但似乎我无法弄清楚这两个框架的区别是什么.
目前我正在使用带有jinja2和wtforms的webapp2.它在GAE开箱即用,工作正常.
如果我比较烧瓶和webapp2,我只能看到烧瓶已经集成了jinja和wtforms,所以没什么大不了的.
如果我比较两个文档,似乎两个框架有很多共同点
http://webapp-improved.appspot.com/
只是有一些启动问题与烧瓶在我的Windows机器上本地运行.
至少烧瓶的文件看起来非常好.写得非常好,非常清楚.
我已经在网上搜索过,我找不到有关这些差异的任何信息.
适用于Google App Engine的Flask vs webapp2
那么,有什么区别?
我想主持我的个人网站,主要有博客,画廊组件以及代码片段和演示.我选择了GAE,因为它为合理规模的网站(即个人网站)提供免费托管.
我最初认为它可以在没有任何修改的情况下托管Django应用程序,因为我在Django有一些经验,所以我很容易部署一个站点.然而,经过进一步的研究,我发现事实并非如此,并且需要一些"黑客"才能在GAE上托管Django网站.
此外,在查看webapps的一些实现时,似乎GAE可能更简单,并且不像文档那样令人生畏:https://github.com/ccarpenterg/todolist/wiki
所以我的问题是: