先抛出Python错误: AttributeError: module 'pip' has no attribute 'main'
我一开始是在cmd命令行模式运行的pip install X包,没有问题,但是这样是把X包下载配置到我电脑原有的python环境中,我目前比较习惯用Anaconda里的jupyter编程,而Anaconda的python环境是另一个环境,于是我就到Anaconda prompt中输入pip install X包,但是就开始报错了……
通过网上查阅说是版本不匹配,pip10.0以后的版本没有main了,要么降低版本要么修改源码,我觉得早晚都要升级还不如修改源码。
D:\python\Third-party-codebase\Scripts\pip-script.py", line 5, in <module> sys.exit(pip.main())
于是我按照报错信息的路径找到了这个文件
#这是原代码
if __name__ == '__main__':
import sys
import pip
sys.exit(pip.main())
#这是修改后的代码
from pip import __main__
if __name__ == '__main__':
import sys
import pip
sys.exit(__main__._main())
然后再到Anaconda prompt中输入pip install X包
就成功了!
另外的方法:
1.降低版本代码:Python -m pip install --user --upgrade pip==9.0
2.是修改packaging_tool.py里的源码,这好像是发生在pycharm的Bug。网上有很多教程这里就不展开了。
感悟:加上上次tensorboard修改开源包的源码,开源包的代码并不是万无一失的,因为各个开源项目的升级换代很快,就有时候会出现代码不匹配的问题,这个时候不要怕,借助报错信息和官方文档和手册和互联网,可以适当的小小修改一个源码,使这个包可以契合现在的项目。
题外话:要记得pip是在terminal中使用,不是在python交互框。