我在Mac OS上开发谷歌云平台。
我创建了vitualenv - virtualenv xyz
。
我使用 - source xyz / bin / activate激活了
然后,我安装了我需要的pkg - pip install python-dateutil
当我pip list
时,我确实看到了python-dateutil
但是当我使用dev_appserver.py .
运行我的服务并尝试发布帖子请求时。我得到了ImportError: No module named dateutil.parser
问题:在我的appengine_config.py
中,我有vendor.add('lib')
,但这些软件包安装在my_project-> xyz -> lib -> python2.7 -> site-packages -> dateutil
下。我的应用如何知道在哪里寻找包裹?
第二个问题:当我准备部署到生产环境时,如何部署软件包。 pip freeze > requirements.txt
。是否足以让prod服务器知道要使用哪些包。 my_project下是否需要lib
文件夹?我很困惑如何在virtualenv和生产中引用包。
答案 0 :(得分:1)
您正在将有关standard environment的依赖项安装说明与flexible environment的相关内容进行混合。相关:How to tell if a Google App Engine documentation page applies to the standard or the flexible environment
您正在使用dev_appserver.py
,因此我认为您的应用是标准环境,在这种情况下,您需要将库安装到您的应用(请注意{{1参数),而不是在system / venv上。假设您从应用程序的目录执行:
-t lib