这个问题其实很早之前我就遇到过,当时用的是python2,在升级PIP之后发现报了一个错误,如下:
ubuntu@hello:/# pip3 install openpyxl
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
报这个错的原因是PIP更新为10.0.0后库里面函数有所变动导致的结果。首先找到/usr/bin/pip
中的pip文件,找到找到以下代码:
from pip import main
if __name__ == '__main__':
sys.exit(main())
将最后一行代码改成以下代码:
from pip import main
if __name__ == '__main__':
sys.exit(__main__.main())
然后保存退出就可以解决这个错误了。
需要特别注意的是,如果是python2中遇到了这个问题,需要先找到python2的路径,用
which python
来找到python2,如果是python3中的pip3遇到了这个问题,那么也应该找到对应的pip3,然后去修改上述代码,这点是我看了很多教程中没有提及到的地方。
在写这篇文章的时候发现了HEXO博客的另一个问题,就是如果HEXO博客题目中带有空格的话,会报以下错误:
YAMLException: incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line at line 1, column 29:
解决上述问题只需要把题目含有空格的内容加上双引号即可,如下:
# 原文章标题,执行hexo g后报错
PIP3升级后报错:ImportError:cannot import name 'main'解决办法
# 更新后的文章标题,执行hexo g后正常
PIP3升级后报错:"ImportError:cannot import name 'main'解决办法"
评论区