[英]pip and pip3 - both pointing to python3.5?
我今天開始嘗試陰影; 並在我的 ubuntu 16.04 系統上為 python2 和 python3 安裝它; 使用:
sudo pip install shade
分別
sudo pip3 install shade
兩個命令都通過了; 我真的沒有注意。
然后我嘗試運行這個小測試腳本:
from shade import *
simple_logging(debug=True)
conn = openstack_cloud(cloud='myopenstack')
images = conn.list_images()
for image in images:
print(image)
使用 python3,我得到了一個證書錯誤(這很好,我會很驚訝地發現我們的內部基礎設施使用正確的證書)。
但可以肯定的是,我也想用 python2.7 運行; 有人告訴我:
導入錯誤:沒有名為 shade 的模塊
因此,我仔細查看了 pip 和 pip3 必須說的內容:
> pip -V
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)
> pip3 -V
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)
看起來pip
和pip3
實際上都在我的 python3 安裝上工作,但是當我這樣做時:
> python --version
Python 2.7.12
> python3 --version
Python 3.5.2
任何想法,任何人? 是什么原因造成的,或者如何為 python2/pip 實際安裝陰影?
按照要求:
> for i in pip pip3 python python3 ; do type $i ; done
pip is /usr/local/bin/pip
pip3 is /usr/local/bin/pip3
python is /usr/bin/python
python3 is /usr/bin/python3
pip3
看起來像是pip
使用的默認選項。 嘗試使用pip2
來顯式安裝 Python 2 包。
只需將/usr/local/bin/pip
的第一行更改為:
#!/usr/bin/python
和/usr/local/bin/pip3
的第一行:
#!/usr/bin/python3
然后它將正常運行:
> pip -V
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
> pip3 -V
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)
python -m pip
這將使用 python 可以看到的 pip 版本。
您在 /usr/local/bin/ 中 python3 的 pip 的本地安裝會影響 /usr/bin 中 pip 的系統安裝。 為了使用系統的默認 pip,您可以:
sudo /usr/bin/pip install shade
pip
的本地安裝: sudo rm /usr/local/bin/pip
/usr/bin
到/usr/local/bin
/usr/bin
中的pip2
別名: sudo pip2 install shade
python3
: sudo apt-get install python3
。 如果你走這條路,不要忘記刪除你本地的python3
安裝。我遇到了這個問題(pip 與 Python 3 相關聯),這是由於 pip 安裝程序將 pip 更新為指向 Python 3。我認為這是非常令人困惑的行為,因為歷史上每個人都將 pip 與 Python 2 相關聯,將 pip3 與 Python 3 相關聯. 我們通過執行以下操作解決了這個問題:
# install pip
curl https://bootstrap.pypa.io/get-pip.py -o /tmp/get-pip.py
sudo python3 /tmp/get-pip.py
sudo python /tmp/get-pip.py # install the python2 version last so the pip binary is not overwritten with the python3 version
rm /tmp/get-pip.py
這里的關鍵是在安裝 Python 3 pip 之后安裝 Python 2 pip。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.