我目前已经安装了 pip 8.1.2。
所以我想把它升级到最新版本(9.0.1),然后我执行:
sudo pip install --upgrade pip
Collecting pip
Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 846kB/s
Installing collected packages: pip
Found existing installation: pip 8.1.2
Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-8.1.2
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
它似乎正确下载了 9.0.1,但随后拒绝卸载现有安装 (8.1.2)
然后在最后它建议我升级使用我已经提供的完全相同的说明!
我做错了什么吗?
最佳答案
Ubuntu pip 版本已打补丁以防止 self 升级(所有系统管理文件的安装都被阻止,补丁名为 hands-off-system-packages.patch
)。你应该使用 Ubuntu 打包系统来升级。提供的反馈肯定可以改进。
由于还没有适用于您的 Ubuntu 版本的 pip 9.0.1 的 Ubuntu 软件包,您实际上无法通过这种方式升级到更新的版本(但是有一个 version for Zesty)。
一个(丑陋的)解决方法是使用 easy_install
代替:
sudo easy_install -U pip
这是可行的,因为 easy_install
没有设置陷阱来阻止升级。但是,这会将 系统管理的文件 替换为较新的 pip
版本。如果您的包管理器要重新安装 python-pip
包,它会很乐意覆盖这些文件,理论上您可能会以安装失败告终。此外,easy_install
添加的文件比软件包要多,这些额外的文件可能会导致问题,尤其是当您升级 python-pip
稍后在打包新版本时。
如果您要使用 virtualenv,您可以在其中自由升级 pip,它工作得很好。
关于python - pip 拒绝升级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41674368/