1. 程式人生 > >修復伺服器上出現ImportError: cannot import name main的問題

修復伺服器上出現ImportError: cannot import name main的問題

在伺服器上成功升級pip2之後再執行pip2命令出現如下報錯資訊

Traceback (most recent call last):
  File "/usr/bin/pip2.7", line 7, in <module>
    from pip import main
ImportError: cannot import name main

方法一

上網查了好久,一般都是說要修改/usr/bin路徑下的pip檔案,原檔案內容如下:

# -*- coding: utf-8 -*-
import re
import sys

from pip import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

需要改成如下內容:

# -*- coding: utf-8 -*-
import re
import sys

from pip import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(__main__.main())

方法二

但是不幸的是我這是在伺服器上啊,我根本沒有許可權改動這個檔案,那怎麼辦呢?方法如下

首先你檢視一下你的~/.local/bin目錄下是否有pip等檔案,如果有則修改方法如下:

1.進入home路徑

cd ~

2.修改.bashrc檔案

.bashrc 的作用就是我們在輸入pip等命令時,系統首先從.bashrc檔案中指定的路徑查詢是否有對應命令,如果沒有再從系統路徑查詢。

.bashrc檔案最後新增如下內容:

export PATH=/home/username/.local/bin:$PATH

注意上面的username要換成你自己的使用者名稱

3.source一下

修改了.bashrc檔案還不夠,我們還得啟用這個檔案,命令如下

source ~/.bashrc

一切就ok啦~~~ (這麼簡單的問題困擾了我快兩個星期,幸虧問了學長才解決。。。痛心)



MARSGGBO
原創





2018-11-06