如何在 Python 3.x 和 Python 2.x 中使用 pip
Posted
技术标签:
【中文标题】如何在 Python 3.x 和 Python 2.x 中使用 pip【英文标题】:How to use pip with Python 3.x alongside Python 2.x 【发布时间】:2012-07-01 09:09:23 【问题描述】:我安装了 Python 3.x(除了 Ubuntu 上的 Python 2.x)并慢慢开始配对我在 Python 2.x 中使用的模块。
所以我想知道,我应该采取什么方法通过在 Python 2.x 和 Python 3.x 中使用 pip 来简化我的生活?
【问题讨论】:
就个人而言,我会避免安装全局包并使用 virtualenv。然后,您从虚拟环境中为每个项目使用 pip,并且您始终使用正确的。 【参考方案1】:您应该采取的方法是为 Python 3.2 安装 pip
。
您可以通过以下方式执行此操作:
$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo python3.2 get-pip.py
然后,您可以使用 pip-3.2
安装 Python 3.2 的东西,并使用 pip-2.7
安装 Python 2-7 的东西。 pip
命令最终会指向其中之一,但我不确定是哪个,所以你必须检查一下。
【讨论】:
这很简单,谢谢。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
并测试:完美! :)
在 Fedora 上,它是 pip3.3,即 pip 和版本之间没有破折号。检查 /usr/bin
以查看您那里有哪些 pip 版本。
[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
那就这样吧。 :-)【参考方案2】:
你也可以使用apt-get:
apt-get install python3-pip
根据我的经验,这也很流畅,而且您可以从 apt-get 中获得所有好处。
【讨论】:
12.04 我不能这样做。 我成功使用了这个(即sudo apt-get install python3-pip),然后可以使用“sudo python3 -m pip install package”安装python3包。 到今天为止,我相信 apt-get 可以为您提供过时的 1.5.6 版本;如果您不希望在pip freeze > requirements
期间出现 AssertionErrror(或其他潜在错误),请从源代码安装最新版本,以免您头疼。
必须是root才能安装python3-pip
尽管使用python3.7
安装pip
pip
仍然默认使用 ubuntu 14.04 上的 Python 2.7 :( 我已经设法将 pip 更新到最新版本,即 19.3.1 但是它仍然默认为python2.7。如何使它与python 3.7一起使用?【参考方案3】:
首先,使用以下命令安装 Python 3 pip:
sudo apt-get install python3-pip
然后,使用Python 3 pip
使用:
pip3 install <module-name>
对于Python 2 pip
使用:
pip install <module-name>
【讨论】:
没有 Python 2 pip,这取决于您使用的操作系统。例如,在 Arch Linuxpip --version
上,默认情况下在 python 3.6 上运行。
这对我来说似乎是最直观、最简单的解决方案,谢谢!【参考方案4】:
最短路径:
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 在这种情况下首先使用sudo apt-get install python3-pip
安装pip。假设您使用的是 python3。【参考方案5】:
如果你不想每次使用时都指定版本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
【讨论】:
您能详细说明一下吗?我不明白安装 distribute 与不必指定要使用的 pip 版本有什么关系。【参考方案6】:在 Windows 中,首先安装 Python 3.7,然后安装 Python 2.7。然后,使用命令提示符:
pip 安装 python2-module-name
pip3 安装 python3-module-name
就是这样
【讨论】:
非常感谢!在 pip 之后缺少 3 是我的问题。【参考方案7】:这在 OS X 上对我有用:(我这么说是因为有时 mac 拥有每个开源工具的“自己的”版本,你不能删除它,因为“它的改进”使其对其他苹果来说是独一无二的东西可以工作,如果你删除它,事情就会开始下降)
我按照@Lennart Regebro 提供的步骤获取 python 3 的 pip,但是 python 2 的 pip 仍然首先在路径上,所以...我所做的是在 /usr 中创建一个指向 python 3 的符号链接/bin(事实上,我也做了同样的事情让我的 2 条蟒蛇安静地运行):
ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/pip /usr/bin/pip3
注意我在末尾添加了一个3
,所以基本上你要做的就是使用pip3
而不仅仅是pip
。
这篇文章很旧,但我希望有一天能对某人有所帮助。这在理论上应该适用于任何 LINUX 系统。
【讨论】:
【参考方案8】:在 Suse Linux 13.2 上,pip 调用 python3,但 pip2 可用于使用较旧的 python 版本。
【讨论】:
在 voidlinux 上也一样【参考方案9】:请注意,在 msys2 上,我发现这些命令很有帮助:
$ pacman -S python3-pip
$ pip3 install --upgrade pip
$ pip3 install --user package_name
【讨论】:
【参考方案10】:认为这是一个老问题,我想我有更好的解决方案
要将 pip 用于 python 2.x 环境,请使用此命令 -
py -2 -m pip install -r requirements.txt
要将 pip 用于 python 3.x 环境,请使用此命令 -
py -3 -m pip install -r requirements.txt
【讨论】:
以上是关于如何在 Python 3.x 和 Python 2.x 中使用 pip的主要内容,如果未能解决你的问题,请参考以下文章
如何在同一台电脑(windows系统)上同时搭建python2和python3环境