小编典典

如何使用Google App Engine管理第三方Python库?(virtualenv?pip?)

python

使用Google App Engine管理第三方Python库的最佳策略是什么?

假设我要使用Flask(一个Web应用程序框架)。博客条目说要这样做,这似乎不正确:

$ 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 ...)

必须有更好的方法来管理第三方代码,尤其是在我要跟踪版本,测试升级或两个库共享一个子目录的情况下。我知道Python可以从zipfile导入模块,并且
pip 可以与出色的REQUIREMENTS文件一起工作,而且我已经看到 pip 具有zip用于GAE的命令。


阅读 254

收藏
2021-01-20

共1个答案

小编典典

简单地说:

$ pip install -r requirements.txt -t <your_app_directory/lib>

创建/编辑<your_app_directory>/appengine_config.py

"""This file is loaded when starting a new application instance."""
import sys
import os.path

# add `lib` subdirectory to `sys.path`, so our `main` module can load
# third-party libraries.
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'lib'))

更新:

Google将其示例更新为appengine_config.py,例如:

    from google.appengine.ext import vendor
    vendor.add('lib')

注意:即使他们的示例.gitignore忽略了lib/目录,但是如果使用git- push部署方法,您仍然需要将该目录置于源代码控制之下。

2021-01-20