2017-01-02 65 views
1
升級PIP

我正在運行的Linux系統上的命令爲:錯誤在Linux

sudo pip install --upgrade pip 

但我收到錯誤消息:

pkg_resources.DistributionNotFound: The 'pip==6.1.1' distribution was not found and is required by the application 

凡爲,如果我去檢查在pip --version,我得到的迴應是:

pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7) 

爲什麼需要'pip==6.1.1' distribution以及如何獲得它呢?

+0

'sudo pip --version'顯示什麼? – favoretti

+0

sudo pip --version給出相同的錯誤信息:'pkg_resources.DistributionNotFound:沒有找到'pip == 6.1.1'發行版,並且是應用程序需要的' – Sarang

+0

所以基本上你有2個'pip'。您的本地用戶之一,另一個「root」(或sudo)看到的用戶。簡單的「修復」將是'sudo easy_install pip',它應該重新安裝您的破損點。 – favoretti

回答

2

在系統上升級pip時,作爲root用戶,您實際上會覆蓋您的系統PIP程序,並且在爲您的Linux系統(使用yum/dnf)進一步安裝Python軟件包時會遇到嚴重問題。

正確的處理方法是以用戶身份創建virtualenv,並在該virtualenv上升級PIP。從系統Python安裝中分離出來。無論如何,你想在這臺機器上使用Python的遠程認證應該至少運行Python 2.7 - 或者如果它是Python 3兼容的話,則爲3.6。 (你的系統Python是2.6,而你在/ usr/local上有一個Python2。這可能會發生衝突,完全取決於你發現的PATH的順序)。

0

理想的情況下,PIP應使用sudo pip install --upgrade pip.

升級,但因爲我得到的錯誤是:sudo: easy_install: command not found

我需要設置如下環境變量路徑:

alias sudo='sudo env PATH=$PATH' 

完成後,升級命令正常工作。