Mik*_*ike 6 python pip python-3.x
我一直认为pip适用于Python 2,而pip3适用于Python3。要安装不同版本的pip,我需要执行以下操作:
sudo apt-get install python-pip
sudo apt-get install python3-pip
Run Code Online (Sandbox Code Playgroud)
然后我得到了预期的结果:
$ 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)
Run Code Online (Sandbox Code Playgroud)
但是,这些是旧版本,因此我执行以下操作:
$ sudo pip install pip --upgrade
Run Code Online (Sandbox Code Playgroud)
我得到这个:
$ 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)
Run Code Online (Sandbox Code Playgroud)
当我为某些软件包安装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.
Run Code Online (Sandbox Code Playgroud)
好吧,我已经运行过了,所以我尝试一下:
$ 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
Run Code Online (Sandbox Code Playgroud)
但是现在我得到了:
$ 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)
Run Code Online (Sandbox Code Playgroud)
那是对的吗?这有关系吗?Python 3.5的pip版本是否可用于安装Python 2软件包?
更新
根据@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
Run Code Online (Sandbox Code Playgroud)
并产生以下结果:
$ 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)
Run Code Online (Sandbox Code Playgroud)
每个Python应该有自己的,pip因为每个Python可能使用同一模块的不同版本,并且每个Python会将模块安装在不同的文件夹中。
您可以使用Python2安装pip的Python2,它应该建立正确的文件pip
python -m pip install -U --force pip
Run Code Online (Sandbox Code Playgroud)
你也应该有pip,pip2,pip2.7,pip3,pip3.5。你甚至可以有pip3.6,pip3.7在同一时间。
在控制台中写入内容,pip然后按Tab键,它应该显示所有以开头的程序pip
你可以找到完整路径pip与
which pip
Run Code Online (Sandbox Code Playgroud)
并看到它是python的脚本。
不同的pip具有不同的第一行#!/usr/bin/python或第二行#!/usr/bin/python3.5。所有版本的其余代码应相同。