使用python的Google App Engine官方文档建议使用virtualenv并将第三方库安装到项目根目录的子目录中:
$ source /path/to/my/virtualenv/bin/activate
$ cd my/project/root
$ mkdir lib
$ pip install -t lib sqlalchemy
然后,文档说要在项目根目录中创建一个appengine_config.py
文件,其中包含以下内容:
from google.appengine.ext import vendor
# Add any libraries installed in the "lib" folder.
vendor.add('lib')
这一切都起作用,开发服务器可以在运行时找到sqlalchemy。但是,我的virtualenv本身不能。如果我这样做
$ python
>>> import sqlalchemy
我收到导入错误。 这使得测试事物与开发服务器的区别在于笨拙/不可能。 是否有一些pip技巧或类似的东西,我可以使用它来从内部和没有开发服务器的lib可用?
答案 0 :(得分:1)
我遵循相同步骤的变体但是
Socket.Close()
这样,virtualenv中的pip安装也会自动进入lib目录。
然后每个pip安装都可用于virtualenv的python和dev_appserver,而无需提供目标文件夹以使测试事情变得可以忍受。例如:
$ ln -s {virtualenv}/lib/python2.7/site-packages lib