簡體   English   中英

已安裝Python3.5,但pip3指向python3.6

[英]Python3.5 is installed but pip3 points to python3.6

我的機器上安裝了Python3.5

$ python3-版本

Python 3.5.0

但是,pip3命令指向python3.6,這意味着:

$ pip3-版本

來自/usr/local/lib/python3.6/site-packages(python 3.6)的pip 9.0.1

因此,我的python3.5解釋器無法使用通過pip3 install xxxxx安裝的所有軟件包。 它們顯然已安裝到python3.6,但我從未在機器上安裝過python3.6。

我能想到的唯一解決方法是使用python3 -m pip替換我想要的pip3 這可能如下所示工作:

$ python3 -m pip --version

來自/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages(python 3.5)的pip 9.0.1

但這真的很愚蠢。 如何將“ pip3”的默認目標更改回Python 3.5? 即如何使pip3從字面上安裝python3.5的軟件包?

您將需要更改環境變量。

您可以通過python交互式解釋器執行此操作,因為python具有更改環境變量的模塊。

因此,啟動IDLE shell,然后輸入以下兩個命令:

>>> import sys
>>> sys.path

您應該看到類似於以下的輸出(這是從Windows計算機上獲得的):

['', 'C:\\python36', 'C:\\python36\\Lib\\idlelib', 'C:\\Python36\\python36.zip', 
'C:\\Python36\\DLLs', 'C:\\Python36\\lib', 'C:\\Python36', 'C:\\Python36\\lib\\site-packages']

對於Linux / Mac OS X用戶或Windows用戶,刪除類似於'/Python36/lib/site-packages'的條目,對於Windows用戶, 'C:\\\\Python36\\\\lib\\\\site-packages'數組中的'C:\\\\Python36\\\\lib\\\\site-packages'

非常小心,不要刪除任何東西。 嘗試簡單地打印索引以確保它是正確的索引。

完成此步驟后,請重新啟動計算機以確保進行了更改。

通過在終端或命令提示符下檢查pip版本來測試其是否有效。

如果有效,就完成了! 但是,有些人可能會看到一條錯誤消息,指出未找到pip3。 在這種情況下,請返回外殼並(在重新導入sys之后)附加python 3.5的目錄,然后附加/lib/site-packages

再次重新啟動計算機,然后測試它是否可以工作。 如果沒有,您可能需要重新安裝python 3.5才能使其正常工作。 但是,如果您正確地遵循了步驟,那將是非常罕見的。

我希望這個答案是有用的!

從pypa下載pip的引導腳本,然后使用Python 3.5解釋器進行安裝

$ wget https://bootstrap.pypa.io/get-pip.py
$ python3 get-pip.py

然后將pip安裝到您的python3安裝中。

您甚至可能已經擁有它,可以通過查看以下內容再次檢查它:

/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/Scripts

您可以嘗試使用find命令在目錄中找到它
然后您可以嘗試備份舊的pip命令並將其替換為新的pip命令:

$ PIP_3_5=$(find /Library/Frameworks/Python.framework/Versions/3.5/lib/python‌​3.5 -name pip)
$ mv $(which pip) $(which pip)3.6
$ alias pip=$PIP_3_5

請記住,我沒有像在Windows上一樣測試過這些命令,但是如果我的內存正確,那應該可以...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM