如何将 pip 升级到版本 >> 9.0.1?(pip install--upgrade pip 给出“无法导入名称 main”错误)

如何将 pip 升级到版本 >> 9.0.1?(pip install--upgrade pip 给出“无法导入名称 main”错误)

我安装了 pip 8.1,我想升级到 > 9.0.1(安装适用于 python 2.7 的 matplotlib)。我看到如何将 pip 升级到最新版本?并且做到了

sudo -H pip3 install --upgrade pip
sudo -H pip2 install --upgrade pip

但之后,如果我输入pip --version,我会得到

ckim@chan-ubuntu:~$ pip --version
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

我以前就遇到过这种情况,而且我知道解决办法(嗯,听起来像德语词序..:)),所以我就这么做了

sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall

然后我输入pip --version 并得到

pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

这回到了 8.1.1。我如何升级到最新版本?

添加:我正在使用 16.04.5 LTS。这是在系统环境中。(在 python 2.7 虚拟环境中正常)

答案1

这里的问题是pip 安装者 apt 与……相冲突标准pip

最简单的解决方案是仅安装标准pip

  1. pip通过运行以下命令进行卸载,直到没有任何反应:

    sudo python -m pip uninstall pip
    
  2. 卸载apt pip

    sudo apt-get remove python-pip
    
  3. 从以下位置下载pip引导程序https://bootstrap.pypa.io/get-pip.py

  4. 安装标准pip
    python get-pip.py
    

注意:如果你使用的是 Python 3,请替换pythonpython3,但 OP 想要的matplotlib是 Python 2


主要的不同之处apt pip和 标准之间的区别pip在于--user是默认的apt,这意味着包将安装到用户的包目录中:例如“~/.local/lib/python2.7/site-packages”。标准pip将默认安装到系统包目录中。编辑:pipv20如果没有权限编辑系统目录,则会安装到用户目录

apt pip此外,许多版本落后,缺少当前标准中的许多功能和错误修复pip(例如从私有存储库安装,PEP-517支持,命令行自动完成)

答案2

尝试:

python2 -m pip install --upgrade pip

相关内容