2012-06-29 124 views
126

我使用pip,我发现它非常方便。上周我安装了Python 3.2(除了Ubuntu上的Python 2.7),并慢慢地开始配对我在Python 2.x中使用的模块。如何使用Python 3.x和Python 2.x一起使用pip

所以我想知道,我应该采取什么方法通过在Python 2.x和Python 3.x中使用pip来让我的生活变得轻松?

+2

就个人而言,我d避免全局软件包安装并使用virtua lenv。然后你从每个项目的虚拟环境中使用pip,并且始终使用正确的。 – jpmc26

回答

124

您应该采取的方法是为Python 3.2安装pip

您通过以下方式做到这一点:

$ curl -O https://bootstrap.pypa.io/get-pip.py 
$ sudo python3.2 get-pip.py 

然后,您可以安装的东西的Python 3.2 pip-3.2,并与pip-2.7安装的东西为Python 2-7。 pip命令最终会指向其中的一个,但我不确定哪个,所以您必须检查。

+8

这很简单,谢谢。 'sudo python3.2 get-pip.py'在'/ usr/local/bin'中安装'pip'和'pip-3.2'脚本,并在逻辑上使用Python 3.'sudo python get-pip.py'安装'pip '和'pip-2.7',所以在这种情况下'pip'使用Python 2.7。我另外创建了'pip-3.2'链接作为'pip3'并测试:完美! :) – theta

+5

在Fedora上,它是pip3.3,也就是说,没有pip和版本之间的冲突。检查'/ usr/bin'来查看你有哪些pip版本。 – shailenTJ

+2

\ [x \] Ubuntu也使用'[pip2 | pip2.7 | pip3 | pip3.4]'。这是“pip”的变化还是不同系统之间的差异? –

13

如果你不希望有指定版本每次使用时间PIP

安装PIP:

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python3 

和导出路径:

$ export PATH=/Library/Frameworks/Python.framework/Versions/<version number>/bin:$PATH 
+10

你能否详细说明一下?我没有看到安装*分发*与不需要指定要使用的* pip *版本有什么关系。 –

31

你也可以做的是使用apt-get:

apt-get install python3-pip 

根据我的经验,这项工作非常流畅,再加上你从apt-get中获得了所有的好处。

+2

12.04我不能这样做。 – dranxo

+11

我成功地使用了这个(即sudo apt-get install python3-pip),然后可以使用“sudo python3 -m pip install package”来安装python3软件包。 –

+2

截止到今天,我相信apt-get会让你过时的1.5.6版本;如果你在'pip freeze> requirements'(或其他潜在的bug)期间不想要一个AssertionErrror,那么从源代码安装最新版本,并保存一些头痛的问题。 –

5

这对我OS X上的工作:(我说这是因为有时是一个痛苦,mac有每个开源工具的“自己的”版本,你不能删除它,因为“其改进”使其独特的其他苹果的东西上班,如果你删除它的东西开始下降appart)

我遵循@Lennart Regebro提供的步骤,以获得蟒蛇3点,但蟒蛇2点仍然是第一个路径,所以.. 。我所做的就是创建一个符号链接到Python 3里面的/ usr/bin中(在行动上我也同样有我的2条蟒蛇在和平运行):

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/pip /usr/bin/pip3

注意,我在最后加了一个3,所以基本上你要做的就是用pip3而不是pip

该帖子很老,但我希望这有助于某人某一天。这在理论上应该适用于任何LINUX系统。

3

在Suse Linux 13.2上,pip调用python3,但pip2可用于使用较旧的python版本。

+0

与voidlinux相同 – Radagast

26

首先,使用安装Python 3 PIP:

sudo apt-get install python3-pip 

然后,使用Python 3 pip使用:

pip3 install <module-name> 

Python 2 pip使用:

pip install <module-name> 
+1

没有Python 2点,这取决于您使用的操作系统。例如在Arch Linux上'pip --version'状态默认在* python 3.6 *上运行。 –