python - pip 拒绝升级

标签 python ubuntu pip

我目前已经安装了 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/

相关文章:

python - 在不使用 sys.exit() 的情况下关闭 ipython 笔记本中的 pyqt 小部件

python - 在 Amazon EC2 上安装 numpy

python - 使用Python改进多边形内的点计算

python - 从元组中切片列的快速方法

python - 安装 Anaconda3 时的问题

bash - 无法在 UpStart 中声明数组,但可以在 bash 中声明

java - 启动 Scala 解释器时的 "Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar"

python - 升级到 Ubuntu 16.04 现在 MySQL-python 依赖被破坏了

python - 尝试安装 WebRTCVAD 模块时出现编译错误

python - 将 pandas parquet 写入分区到 s3