将pip指向的Python版本更改为其他版本

7
我在Ubuntu 16.04上同时使用python2.7和python3.5。升级pip到v10后,我无法再使用pip为python2.7安装包。请问如何将pip切换至python2.7?
$ pip -V
pip 10.0.0 from /home/username/.local/lib/python3.5/site-packages/pip (python 3.5)

$ pip3 -V
pip 10.0.0 from /home/username/.local/lib/python3.5/site-packages/pip (python 3.5)

$ which python
/usr/bin/python

$ which python3
/usr/bin/python3

$ python -V
Python 2.7.12

$ python3 -V
Python 3.5.2

$ which pip
/usr/local/bin/pip

$ which pip3
/usr/local/bin/pip3

$ python3 -m pip install some_module
$ python -m pip install some_module

python/python3 -m pip install some_module 会安装到Python 3.5版本。

使用Anaconda不是一个选择。


1
你检查过是否现在有 pip2 了吗? - Tom de Geus
没有pip2。‘程序“pip2”目前未安装。您可以通过键入以下命令进行安装:sudo apt安装python-pip。’ - user6453877
潜在地,您可以自己创建该链接:sudo ln -s /home/username/.local/lib/python2.7/site-packages/pip /usr/local/bin/pip2 - Tom de Geus
你的 pippip3 指向同一个二进制文件。你需要找到存在的 pip (v2.7) 并使用 $PATH 进行修复。 - Chen A.
4个回答

6

我遇到了非常类似的问题。强制重新安装pip导致pip指向python 2.7。

sudo python -m pip install -U --force-reinstall pip

1
在我的系统上,我有一个指向您正在寻找的Python的pip2。为了清晰起见,我停止使用pip,只使用pip2pip3。不确定这是否是在提出这个问题时存在的事情,但现在看来是一般解决方案。 pip3 -V pip 9.0.1 来自 /usr/lib/python3/dist-packages(python 3.6) pip2 -V pip 9.0.1 来自 /usr/lib/python2.7/dist-packages(python 2.7)

0
问题在于pip没有指向正确的Python版本。我尝试安装python-pip软件包:
sudo apt-get install python-pip

然后,pip2和pip2.7再次在我的终端中可用:

$pip [press tab tab]
pip     pip2    pip2.7  pip3    pip3.5  

现在我使用以下命令升级了pip2:

$pip2 install --upgrade pip
$pip2 -V
pip 20.0.2 from /home/diego/.local/lib/python2.7/site-packages/pip (python 2.7)

目前pip2的版本为20.0.2,已经指向python2.7,可以安装任何我们需要的特定版本的软件包。


-1
在我的情况下,python 指向 2.7 而 py 指向 3.6。您可以通过在终端中键入 py 进行检查,如果是这样的话
py -m pip install something

py 在拥有 /usr/bin/python(Ubuntu)的操作系统中无法运行。 - phd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接