pip相關問題解決(2)-修改源碼

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章