18年第18周:解決Pycharm module 'pip' has no attribute 'main'

  • 錯(cuò)誤報(bào)告:

Traceback (most recent call last):
File "..../Contents/helpers/packaging_tool.py", line 192, in main
retcode = do_install(pkgs)
File "....//Contents/helpers/packaging_tool.py", line 109, in do_install
return pip.main(['install'] + pkgs)
AttributeError: 'module' object has no attribute 'main'

錯(cuò)誤的文件: packaging_tool.py

  • 嘗試但未成功的方法:

1,重裝系列:重裝了Python3.4 不成功,重裝了Pycharm2017不成功
2,更新系列:更新了Python3.4->Python3.6不成功,更新pip 9 -> pip 10 不成功
3,解釋器系列:新建虛擬Python解釋器環(huán)境,不成功

  • 嘗試且成功的方法:

  • 成功的方法1:修錯(cuò)誤文件方法(推薦使用這個(gè)方法)
  • 找到 packaging_tool.py 內(nèi) 這個(gè)兩個(gè)方法(函數(shù)),并注釋,然后貼上第二段代碼
def do_install(pkgs):
    try:
        import pip
    except ImportError:
        error_no_pip()
    return pip.main(['install'] + pkgs)


def do_uninstall(pkgs):
    try:
        import pip
    except ImportError:
        error_no_pip()
    return pip.main(['uninstall', '-y'] + pkgs)

解決問題的代碼如下:

def do_install(pkgs):
    try:
        try:
            from pip._internal import main
        except Exception:
            from pip import main
    except ImportError:
        error_no_pip()
    return main(['install'] + pkgs)


def do_uninstall(pkgs):
    try:
        try:
            from pip._internal import main
        except Exception:
            from pip import main
    except ImportError:
        error_no_pip()
    return main(['uninstall', '-y'] + pkgs)
  • 成功的方法2:更新Pycharm2017到Pycharm2018
  • 成功的方法3:使用命令行模式
    命令行模式安裝python包

    比如:
    命令行模式安裝Numpy包
  • I hope it will help you.

Input help you
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容