先拋出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交互框。