簡體   English   中英

pip(python2)和pip3(python3)可以共存嗎?

[英]Can pip (python2) and pip3 (python3) coexist?

我一直認為pip適用於Python 2,而pip3適用於Python 3.要安裝不同版本的pip,我已完成以下操作:

sudo apt-get install python-pip
sudo apt-get install python3-pip

然后我按照預期得到以下內容:

$ pip --version
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
$ pip3 --version
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

那些是舊版本,所以我做了以下幾點:

$ sudo pip install pip --upgrade

我明白了

$ pip --version
pip 19.0.3 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
$ pip3 --version
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

當我為某個軟件包安裝pip3時,我收到以下消息:

You are using pip version 8.1.1, however version 19.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

好吧,我已經跑了,所以我試試這個:

$ sudo pip3 install pip --upgrade
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python3/dist-packages, outside environment /usr
Successfully installed pip-19.0.3

但現在我明白了:

$ pip --version
pip 19.0.3 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
$ pip3 --version
pip 19.0.3 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

那是對的嗎? 這有關系嗎? Python 3.5的pip版本是否適用於安裝Python 2軟件包?

UPDATE

基於@furas提供的答案,這些是我為了正確安裝pip和pip3的更新版本而運行的所有命令:

sudo apt-get install python-pip --yes
sudo apt-get install python3-pip --yes
sudo python3 -m pip install pip --upgrade
sudo python -m pip install pip --upgrade --force # this line fixes the pip install to point to the python2 version instead of the python3 version

這產生以下結果:

$ pip --version
pip 19.0.3 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
$ pip3 --version
pip 19.0.3 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

每個Python都應該擁有自己的pip因為每個Python都可以使用相同模塊的不同版本,每個Python都會在不同的文件夾中安裝模塊。

您可以使用Python2Python2安裝pip ,它應該創建正確的文件pip

python -m pip install -U --force pip

你還應該有pippip2pip2.7pip3pip3.5 你甚至可以同時擁有pip3.6pip3.7

寫入控制台pip並按下選項卡,它應顯示所有以pip開頭的程序

你可以找到pip完整路徑

which pip 

並看到它是python的腳本。

不同的pip有不同的第一行#!/usr/bin/python#!/usr/bin/python3.5 所有版本的Rest代碼應該相同。

暫無
暫無

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

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