1.问题
环境:ubuntu 16.04
升级pip3之后,报错如下:
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
2.解决方法
修正方法:
$: sudo vi /usr/bin/pip3
修改/usr/bin/pip3文件内容,如下
报错时,文件内容:
from pip import main
if __name__ == '__main__':
sys.exit(main())
修正后,文件内容:(注意修正2行!!)
from pip import __main__ //修改为__main__
if __name__ == '__main__':
sys.exit(__main__._main()) //增加__main__._,注意不要丢了_ !!!!!!
如此修正完毕,pip --version与pip3 --version均正常显示。
3.补充
另外:也可以重新安装pip 或者pip3。但本人重新安装后,还是手动完成上述修改之后才正常。
卸载pip3:
$: sudo python3 -m pip uninstall pip
安装pip3:
$: sudo apt install python3-pip
升级pip3:
$: python3 -m pip install --upgrade pip
4.其他方法
还有一种方法可以解决此问题:重新创建符号链接。本人暂时没看,惭愧。