在Ubuntu中,升级pip3以后,使用pip3出现ImportError: cannot import name 'main'的错误。本文介绍如何修正这个错误,亲测有效。python
安装python3:函数
sudo apt install python3spa
安装pip3:.net
sudo apt install python3-pipcode
升级pip3:ip
python3 -m pip install --upgrade pipget
而后再使用pip3安装其它模块的时候,就出现了ImportError: cannot import name 'main'的错误。it
修正的方法是修改/usr/bin/pip3这个文件。pip
以下是这个文件原来的内容:io
from pip import main if __name__ == '__main__': sys.exit(main())
显然,致使错误的缘由,就是pip3升级后,main函数被修改了。
如今修改这个文件,以下是修改后的内容:
from pip import __main__ //这行也要修改 if __name__ == '__main__': sys.exit(__main__._main())//增长__main__._
保存后,再使用pip3,就一切正常了。
~$ pip3 --version
pip 19.0.3 from /home/xinlin/.local/lib/python3.6/site-packages/pip (python 3.6)
不知道为啥,安装python3时,自带的pip3的版本那么低,若是换成高版本,不少人就不会面对这个问题了。
还有一种方法是重建/usr/bin/pip3的符号链接。
使用python3 -m pip或者python3 -m site --user-base,能够看到pip3安装在了什么地方,重建符号链接便可。(如何建立符号连接)