如何在Python 3.x和Python 2.x上使用pip


196

我安装了Python 3.x(在Ubuntu上除了Python 2.x之外),然后慢慢开始配对在Python 2.x中使用的模块。

所以我想知道,应该为Python 2.x和Python 3.x使用pip来简化生活吗?


2
就个人而言,我会避免安装全局软件包并使用virtualenv。然后,您可以从虚拟环境内部为每个项目使用pip,并且始终使用正确的项目。
2013年

Answers:


183

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

您可以通过以下方式执行此操作:

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

然后,您可以使用来安装适用于Python 3.2的内容pip-3.2,并使用来安装适用于Python 2-7的内容pip-2.7。该pip命令最终将指向其中之一,但是我不确定是哪一个,因此您必须进行检查。


9
这很简单,谢谢。sudo python3.2 get-pip.py安装pippip-3.2脚本,/usr/local/bin并且两者在逻辑上都使用Python3。sudo python get-pip.py安装pippip-2.7此处,因此在这种情况下pip使用Python 2.7。我另外创建了pip-3.2as 链接pip3并进行了测试:完美!:)
theta

6
在Fedora上,它是pip3.3,即在pip和版本之间没有破折号。检查/usr/bin以查看那里有哪些pip版本。
2014年

5
[x] Ubuntu也正在使用[ pip2 | pip2.7 | pip3 | pip3.4 ]。这是pip不同系统之间的变化还是不同?
乔恩·苏雷尔

执行后,我得到了You're using an outdated location for the get-pip.py script, please use the one available from https://bootstrap.pypa.io/get-pip.py
Kevin Brotcke '16

那就这样吧。:-)
Lennart Regebro '16

53

您还可以做的是使用apt-get:

apt-get install python3-pip

以我的经验,这也很流利,而且您会从apt-get中获得所有好处。


2
在12.04,我无法执行此操作。
dranxo 2014年

15
我成功使用了它(即sudo apt-get install python3-pip),然后可以使用“ sudo python3 -m pip install package”安装python3软件包。
汤姆·史利

2
截止到今天,我相信apt-get会为您提供过时的1.5.6版本。如果您在期间pip freeze > requirements(或其他潜在的错误)不希望使用AssertionErrror ,请从源代码安装最新版本,并省去一些麻烦。
杨艺博

必须是root用户才能安装python3-pip
Florent

尽管已安装pip使用python3.7 pip,仍然在ubuntu 14.04上将python 2.7用作默认设置:(我已设法将pip更新至最新版本,即19.3.1,但仍将其默认设置为python2.7。如何使其在python 3.7中使用?
好奇的开发人员

48

首先,使用以下命令安装Python 3 pip:

sudo apt-get install python3-pip

然后,Python 3 pip使用:

pip3 install <module-name>

对于Python 2 pip使用:

pip install <module-name>

4
没有Python 2点,这取决于您使用的操作系统。例如,在Arch Linux pip --version上,默认情况下它在python 3.6上运行。
Daniel AndreiMincă17年

对我来说,这似乎是最直观,最简单的解决方案,谢谢!
gebbissimo

15

如果您不想每次使用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

11
你能详细说明吗?我看不到安装分发与不必指定要使用的pip版本有关。
Piotr Dobrogost

13

最短的方法:

python3 -m pip install package
python -m pip install package

```(test-exif)alex @ alex-xps-13-9370:〜/ projects / oe / app / exif $ python3 -m pip install exif / usr / bin / python3:没有名为pip的模块
axd

在这种情况下,@axd首先使用来安装pip sudo apt-get install python3-pip。假设您正在使用python3。
Fiveelements

5

这在OS X上对我有用:(我之所以这样说,是因为有时Mac对于每个开放源代码工具都拥有“自己的”版本,这是一种痛苦,并且您无法删除它,因为“其改进”使它对于其他苹果产品来说都是独一无二的,如果您将其删除,事情就会开始恶化)

我按照@Lennart Regebro提供的步骤来获取python 3的pip,但是python 2的pip仍然是第一个出现的路径,所以...我要做的是在/ usr / bin内创建指向python 3的符号链接(实际上,我也做了同样的事情来让我的2条python和平运行):

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

请注意,我3在末尾添加了一个,因此基本上您要做的是使用pip3而不是pip

该帖子很旧,但我希望有一天能对某人有所帮助。从理论上讲,这应该适用于任何LINUX系统。


4

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


在voidlinux上也一样
Radagast

4

在Windows中,先安装Python 3.7,然后再安装Python 2.7。然后,使用命令提示符:

pip安装python2-module-name

pip3安装python3-module-name

就这样


3

请注意,在msys2上,我发现以下命令会有所帮助:

$ pacman -S python3-pip
$ pip3 install --upgrade pip
$ pip3 install --user package_name

2

以为这是个老问题,我想我有更好的解决方案

  1. 要将pip用于python 2.x环境,请使用以下命令-

    py -2 -m pip安装-r requirements.txt

  2. 要将pip用于python 3.x环境,请使用以下命令-

    py -3 -m pip install -r requirements.txt

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.