我在Mac OS和谷歌的云平台开发。 我创建了vitualenv - virtualenv xyz
。 我激活使用 - 源XYZ /斌/激活 然后,我安装我所需要的PKG - pip install python-dateutil
当我做pip list
,我确实看到了python-dateutil
有 但是,当我使用dev_appserver.py .
运行我的服务,并设法使一个职位请求。我收到ImportError: No module named dateutil.parser
蟒蛇VIRTUALENV无模块错误
问题:在我的appengine_config.py
中,我有vendor.add('lib')
,但软件包安装在my_project-> xyz -> lib -> python2.7 -> site-packages -> dateutil
下。我的应用程序如何知道在哪里查找包?
第二个问题:当我准备部署到生产,我怎么部署的软件包。 pip freeze > requirements.txt
。这足以让prod服务器知道要使用哪些软件包。我需要在my_project下的lib
文件夹吗?我对包是如何在virtualenv和生产中被引用感到困惑。
因此,如果我使用标准环境,每次启动新项目时,如何安装没有安装软件包的新环境。基本上和virtualenv一样。 –
对不起,我不确定我是否收到你的问题。在stdenv中,你总是从沙盒提供的软件包开始(在SDK的本地系统上)。任何额外需要添加到您的应用程序。 –
在我的开发环境中,可以说我正在处理项目1并执行了'pip install python-dateutil'。我猜这是安装在我的全球环境。我切换到项目2(仍在我的开发中),它将有权访问全局包,但我不想在项目2中引用python-dateutil。如何为每个项目保留python包的单独副本。 –