首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pip不会将软件包安装到激活的virtualenv,忽略requirements.txt

Pip不会将软件包安装到激活的virtualenv,忽略requirements.txt
EN

Stack Overflow用户
提问于 2013-09-04 07:57:59
回答 3查看 6.2K关注 0票数 11

我正试图在家里的新开发机器上设置一个开发环境。我刚刚安装了Ubuntu,现在我正试图从我们的web服务器克隆一个远程存储库,并安装它的依赖项,这样我就可以开始工作了。

到目前为止,我已经从pypi手动安装了virtualenvvirtualenvwrapper,并适当地编辑了我的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.txtcat test.txt,它列出了什么?Django==1.5.1,一个我刚刚手动安装的包。为什么pip没有将我指定列表中的依赖项安装到我的virtualenv中?我搞砸了什么?

-编辑

哪个pip为我提供了在虚拟环境中使用pip的路径

我只有1个virtualenv,并且它已激活

EN

回答 3

Stack Overflow用户

发布于 2013-09-04 08:12:57

我通常的工作流程是

代码语言:javascript
复制
pip freeze > someFile.txt

,然后使用

代码语言:javascript
复制
pip install -r someFile.txt

因此,我确信这应该可以很好地工作。不幸的是,我真的不能告诉你任何事情,除了确保检查

  1. 你真的置身于你所认为的虚拟环境中。确保运行

在yourVirtualEnvName上工作

激活它,以防万一。

  • 确保检查pip在您的虚拟环境中。

哪个管道

给了我

/path/to/home/.virtualenvs/myVirtEnv/bin/pip

对不起,我不能给你一个更具体的答案。我必须半定期地这样做,并且我从来没有遇到过跳过依赖项的问题。祝你好运!

票数 6
EN

Stack Overflow用户

发布于 2014-09-16 21:14:23

不久前我还在为这个问题的一些变体而苦苦挣扎;它最终变成了我杂乱的.bash_profile文件。

确保您的.bash_profile/.bashrc中没有任何可能会弄乱您的虚拟环境的东西,比如$VIRTUAL_ENV$PYTHONHOME$PYTHONPATH环境变量。

票数 3
EN

Stack Overflow用户

发布于 2015-10-04 02:18:05

我知道这是一个老帖子,但我刚刚遇到了类似的问题。在我的例子中,原因是我使用sudo运行pip install命令。这使得该命令全局运行,包安装在全局python路径中。

希望这对某些人有帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18603302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档