如何在Ubuntu 12.04 LTS中为python 3安装pip


117

我正在尝试为python 3.3安装Pillow模块,但是为此,我需要安装pip。每次我安装pip时,都会为python 2.7安装,有什么帮助吗?


1
它应该很容易sudo apt-get install python3-pip,但是我发现它找不到它。你也有这个问题吗?你修好了吗?
查理·帕克

Answers:


141

2018年更新:这仍然吸引着我的担忧。

大约一年以来,一直不支持12.04。安装pip3的最好方法是升级到受支持的更新版本的Ubuntu。您有3个LTS版本可供选择。


在更现代版本的Ubuntu上,您可以sudo apt-get install python3-pip(然后使用pip3)使用,但pip从来没有为12.04打包过Python 3的副本。

因此,您需要遵循以下更老式的安装路线easy_install

sudo apt-get install python3-setuptools
sudo easy_install3 pip

现在,这很有可能会与Python 2冲突pip重写 /usr/bin/pip,因为它将安装基于python3的python3 /usr/local/bin/pip,它也在Ubuntu 12.04的$ PATH中。

只要您知道,它就不会覆盖它,这可能是可以接受的。但是,最好的方法是virtualenv这个答案所示开始研究幸福的世界。

或者,您可以重命名易于安装的python3版本的pip:

sudo mv /usr/local/bin/pip /usr/local/bin/pip-3

然后,您可以确认现有的pip仍基于python2.7:

pip --version

1
对于某些人来说,这会导致问题,因为它们在/usr/local/lib/python3.2/dist-packages/中具有无法被世界读取的文件。
Marius Gedminas 2014年

1
无疑,这是对上述问题的最佳答案,但是如果使用的是Ubuntu的较新版本,则下面的dmeu答案更为合适。
brandizzi

1
不要这样 这样可以简化您的安装。pip8需要python3.4,但这将作为python3设置工具的要求安装在python3.2上,因此当pip3由于兼容性问题而无法运行时,您将无法将其卸载。它彻底破坏了一切。这是使您回到稳定位置的注意事项getpostdelete.com/unscrewing.txt(适用于LTR 12.04)。请注意,这不会作为脚本运行。阅读每个评论,并自行决定是否要承担相关风险。从事Linux已有20年了,但我没有断言此解决方案适合您。
kristopolous

1
sudo apt-get install python3-setuptools并且sudo easy_install3 pip可以在Ubuntu Trusty(14.04)上正常工作;-)
Maxwel Leite

1
您为我过时的12.04提供了支持;)
马库斯(Markus

43

您也可以通过安装它sudo apt-get install python3-pip,然后通过调用它pip3。Etvoilà


11
不在Ubuntu 12.04 LTS上。
Marius Gedminas 2014年

2
@MariusGedminas然后,也许您不应该只使用过时的存储库。即使precise仍受支持,也不一定意味着它具有最新软件。这仅表示他们将其保持在线状态,并位于“官方仓库”上,而不是将其移至“老仓库”中,而apt-get将无法访问该仓库。这样您的包管理器就不会损坏。举例:我尝试过,并且效果很好;我的sources.list使用存储trusty库,只需在sources.list中添加一些内容并执行apt-get更新,即可在12.04中使用该存储库。
Braden Best

1
还要注意水蟒的可能性
dmeu

当您要在全球范围内安装pip3时,这很有用
cyberbikepunk

@BradenBest不确定这是否成立,但似乎是docker中ubuntu的版本。我应该使用什么版本?我在安装pip3时也遇到问题,希望安装它。
查理·帕克

13

如果您在同一台计算机上使用多个版本的python,则使用虚拟环境可能会很有用。这使您可以使用任意数量的python实例,每个实例都有自己的一组软件包。如果您正在使用多个版本的python,和/或您的项目需要同一软件包的不同版本,则此功能非常有用。

要进行设置:

sudo pip install virtualenv 

可以使用任何pip来完成,也可以使用python 2.7的标准pip来完成。然后,要使用python3作为解释器创建虚拟环境,请执行以下操作:

virtualenv my_py3 --python=/usr/bin/python3
source my_py3/bin/activate # to activate the python3 environemt

然后安装您可能要使用的所有软件包

pip install <package> # no sudo required now, as you're IN the virtual environment

要停止虚拟环境,请简单输入:

deactivate

2

在使用适用于Ubuntu 12.04的PPA安装python 3.3之后,我使用以下命令在本地安装了easy_install3.3

wget http://python-distribute.org/distribute_setup.py
python3.3 -m distribute_setup install --user
easy_install-3.3 --user pip

这样可以避免污染站点的pip和安装easy_install。最后,我加入$HOME/.local/bin了自己的道路。现在我可以跑步了pip3.3


2

要添加dmeu的答案,您可能必须更新/etc/apt/sources.list以包含来自较新存储库(例如)的镜像trusty

sudo vi /etc/apt/sources.list
sudo apt-get update

为了弄清长期支持的含义,并不一定意味着他们正在precise与最新,最出色的软件保持同步。当然,您会从中得到一些更新,但是例如python3-pip,某些情况下某些软件包不存在,例如trusty回购中确实存在。

LTS的意思是,它们保持precise在主存储库中,以便您的包管理器不会中断。当12.04最终淘汰时,这最终将使您有机会执行apt-get更新,升级和dist-upgrade。他们称其为支持而不是前沿是有原因的。

如果apt-get路由仍然不起作用,您还可以尝试下载python3-pip的.deb软件包,并使用dpkg(又名debian软件包管理器)进行安装

sudo dpkg -i <name-of-package>.deb

希望这可以帮助。


1
在新的Ubuntu 18.04 LTS上,sudo apt-get install python3-pip找不到python3.pip。执行sudo apt-get update然后重复失败的安装即可。
David Ching

@DavidChing以防万一,Trusty是14.04。
Braden Best


1

将Universe添加到存储库就可以了。
在这里我找到了:

Blockquote您必须启用包含python-pip包的Universe类别。

/etc/apt/sources.list使用编辑器打开

sudo nano /etc/apt/sources.list

然后在每一行的末尾添加Universe,如下所示:

deb http://archive.ubuntu.com/ubuntu bionic main **universe**
deb http://archive.ubuntu.com/ubuntu bionic-security main **universe** 
deb http://archive.ubuntu.com/ubuntu bionic-updates main **universe**

然后运行:

sudo apt update

最后:

sudo apt install python-pip

0

我试过了:

sudo-apt get update
sudo apt-get install python3-pip

这似乎对我有用。我希望这可以帮助其他有同样问题的人。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.