pip listing global packages in active virtualenv
在将pip从1.4.x升级到1.5 pip freeze之后,输出一个我的全局安装(系统)包列表,而不是安装在我的virtualenv中的包列表。我又试着把分数降到1.4,但这并不能解决我的问题。这和这个问题有些相似,只是它已经按预期工作了几个月。是否有任何方法可以调试和/或修复此问题?
看起来virtualenv根本没有效果。在其中安装软件包也会全局安装它们。
- which pip的输出是什么?它是全局pip还是本地virtualenv?
- @alko /usr/local/bin/pip号
- @我想这是我的问题…
即使您已正确安装,但在您的virtualenv可以看到全局站点包的情况下,pip仍然会列出所有内容,除非您使用此处讨论的pip list --local。
- 这似乎不是真的。我认为只有用--system-site-packages创建virtualenv才是正确的??我最终从零开始删除并重新创建了virtualenv。
- 根据pip号文件,这是真的,而且工作正常。当然,只有当你用--system-site-packages创建了一个virtualenv时才是正确的。这就是我的答案中"但是全局站点包可见"所指的。"but"与默认的virtualenv创建(由virtualenvwrapper创建)形成对比,后者与全局站点包隔离。
我在全局而不是在激活的virtualenv中安装pip包时遇到了问题。对于这个问题(以及答案),请看一下在全局站点包中安装PIP,而不是在virtualenv中安装。
基本上,解决方案包括在virtualenv中修改pip脚本的shebang,因为它们指出了错误的python安装。