我的系统pip安装在/opt/.../site-packages中。是1.5.6版。在新的virtualenv中,我运行pip install -U pip
。我看到了:
...Downloading pip-18.0-py2.py3-none-any.whl (1.3MB): 1.3MB downloaded
Installing collected packages: pip
Found existing installation: pip 1.5.6
Not uninstalling pip at /opt/site-packages, outside environment /home/venv
Successfully installed pip
Cleaning up...
Removing temporary dir /home/venv/build...
但是pip -V
现在仍然说pip 1.5.6 from /opt/.../site-packages
pip
目录中的pip2
和venv/bin
都显示相同。 which pip
指向pip
路径中的venv/bin
,因此看起来好像从未更新过pip bin。如何使用刚刚安装在虚拟环境中的新点子?
答案 0 :(得分:0)
似乎virtualenv阻止您访问虚拟环境主目录之外的任何模块。如果要升级系统pip
,请从虚拟环境外部进行。无论如何,升级pip
时最好不要调用二进制文件本身。在您的virtualenv中尝试此操作:
python -m pip install --upgrade pip
答案 1 :(得分:0)
解决方案为(virtualenv):easy_install -U pip
答案 2 :(得分:0)
问题在于,当您创建虚拟环境时,它将使用与该版本捆绑在一起的软件包。如果您安装了新版本的virtualenv,则需要重新创建环境以利用新的软件包。
其他选择是在虚拟环境中手动升级软件包。