我正试图在家里的新开发机器上设置一个开发环境。我刚刚安装了Ubuntu,现在我正试图从我们的web服务器克隆一个远程存储库,并安装它的依赖项,这样我就可以开始工作了。
到目前为止,我已经从pypi手动安装了virtualenv和virtualenvwrapper,并适当地编辑了我的bash.rc,以便在我启动终端时为我的虚拟环境提供源代码。然后,我将我的存储库克隆到~/projects/project-name/websitename.com。然后我使用virtualenvwrapper从~/projects/project-name/websitename.com连接到mkvirtualenv env-name。这准确地反映了我要克隆的web服务器的file-structure/setup。到目前一切尚好。
我登录到开发服务器并在那里激活virtualenv,并使用pip freeze -l > req.txt将依赖项列表和scp呈现到我的本地计算机。我在本地机器上激活virtualenv,导航到~/projects/project-name/websitename.com并执行pip install -r path-to-req.txt,然后它就会遍历所有依赖项,就好像没有任何错误一样。然而,当我尝试manage.py syncdb时,我得到一个关于找不到核心django包的错误。搞什么鬼?所以我想不知何故Django安装失败,我run pip install Django==1.5.1,它成功地完成了。我不得不再次设置我的站点,并得到另一个错误,关于没有名为django_extensions的模块。好吧,到底是怎么回事,我只是用pip安装了所有这些包?!
所以我pip freeze -l > test.txt和cat test.txt,它列出了什么?Django==1.5.1,一个我刚刚手动安装的包。为什么pip没有将我指定列表中的依赖项安装到我的virtualenv中?我搞砸了什么?
-编辑
哪个pip为我提供了在虚拟环境中使用pip的路径
我只有1个virtualenv,并且它已激活
发布于 2013-09-04 08:12:57
我通常的工作流程是
pip freeze > someFile.txt,然后使用
pip install -r someFile.txt因此,我确信这应该可以很好地工作。不幸的是,我真的不能告诉你任何事情,除了确保检查
在yourVirtualEnvName上工作
激活它,以防万一。
哪个管道
给了我
/path/to/home/.virtualenvs/myVirtEnv/bin/pip
对不起,我不能给你一个更具体的答案。我必须半定期地这样做,并且我从来没有遇到过跳过依赖项的问题。祝你好运!
发布于 2014-09-16 21:14:23
不久前我还在为这个问题的一些变体而苦苦挣扎;它最终变成了我杂乱的.bash_profile文件。
确保您的.bash_profile/.bashrc中没有任何可能会弄乱您的虚拟环境的东西,比如$VIRTUAL_ENV、$PYTHONHOME或$PYTHONPATH环境变量。
发布于 2015-10-04 02:18:05
我知道这是一个老帖子,但我刚刚遇到了类似的问题。在我的例子中,原因是我使用sudo运行pip install命令。这使得该命令全局运行,包安装在全局python路径中。
希望这对某些人有帮助。
https://stackoverflow.com/questions/18603302
复制相似问题