我安装了 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
:
pip
通过运行以下命令进行卸载,直到没有任何反应:sudo python -m pip uninstall pip
卸载
apt
pip
sudo apt-get remove python-pip
从以下位置下载
pip
引导程序https://bootstrap.pypa.io/get-pip.py- 安装标准
pip
python get-pip.py
注意:如果你使用的是 Python 3,请替换python
为python3
,但 OP 想要的matplotlib
是 Python 2
主要的不同之处apt
pip
和 标准之间的区别pip
在于--user
是默认的apt
,这意味着包将安装到用户的包目录中:例如“~/.local/lib/python2.7/site-packages”。标准pip
将默认安装到系统包目录中。编辑:pip
v20如果没有权限编辑系统目录,则会安装到用户目录
apt
pip
此外,许多版本落后,缺少当前标准中的许多功能和错误修复pip
(例如从私有存储库安装,PEP-517支持,命令行自动完成)
答案2
尝试:
python2 -m pip install --upgrade pip