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

问题描述 投票:5回答:1

我一直以为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 python-3.x pip
1个回答
4
投票

每个Python都应该拥有自己的qazxsw poi,因为每个Python都可以使用相同模块的不同版本,每个Python都会在不同的文件夹中安装模块。

您可以使用pipPython2安装pip,它应该创建正确的文件Python2

pip

你还应该有python -m pip install -U --force pip pippip2pip2.7pip3。你甚至可以同时拥有pip3.5pip3.6

写在控制台pip3.7并按Tab键,它应该显示所有以pip开头的程序

你可以找到pip的完整路径

pip

并看到它是python的脚本。

不同的which pip 有不同的第一线pip#!/usr/bin/python。所有版本的Rest代码应该相同。

© www.soinside.com 2019 - 2024. All rights reserved.