python virtualenv没有模块错误

时间:2017-08-25 15:49:15

标签: python google-app-engine virtualenv

我在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和生产中引用包。

1 个答案:

答案 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