修復伺服器上出現ImportError: cannot import name main的問題
阿新 • • 發佈:2018-11-06
在伺服器上成功升級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啦~~~ (這麼簡單的問題困擾了我快兩個星期,幸虧問了學長才解決。。。痛心)