问题描述
今天使用pip安装python包的时候,提示可以升级到最新版的pip,然后就升级了pip,从8.1.1到19.0.3,结果,就出现了下面的问题,pip不能用了:
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
ImportError: cannot import name main
环境:Ubuntu 16.04
原因
最后查到的原因是之前安装的pip是通过ubuntu的apt包管理工具安装的,也就是系统默认的pip,使用pip install --upgrade pip升级pip时,新安装的pip完全绕过了apt包管理工具,两者发生冲突引起的。
解决办法
1、从python卸载pip的更新;
python -m pip uninstall pip
2、从apt中卸载pip包;
apt remove python-pip
3、下载安装pip;
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
4、检查是否安装成功,执行pip --version,如果正常显示版本信息,则说明安装成功,如果此时报
-bash: /usr/bin/pip: No such file or directory
执行:which pip
/usr/local/bin/pip
执行:type pip
pip is hashed (/usr/bin/pip)
说明pip被缓存到了/usr/bin/pip(旧的pip的位置)
这时候,清理一下缓存:
hash -r
现在pip应该就可以正常使用了。
来源:oschina
链接:https://my.oschina.net/u/4297988/blog/3595786