我在Ubuntu 12.04中同时安装了python2.7和python3.2。 符号链接python链接到python2.7。

当我输入:

sudo pip install package-name

它将默认安装python2版本的package-name。

有些包同时支持python2和python3。 如何通过pip安装python3版本的package-name ?


当前回答

你也可以运行pip3 install packagename而不是pip,

其他回答

首先,您需要为想要的Python 3安装安装pip。然后运行pip来安装该Python版本的包。

由于在/usr/bin中同时有pip和python3,我假设它们都安装了某种包管理器。该包管理器也应该有一个Python 3 pip。这是您应该安装的。

Felix推荐的virtualenv很不错。如果你只是在测试,或者你在做开发,那么你不应该在系统python中安装这个包。在这些情况下,使用virtualenv或甚至构建自己的python进行开发会更好。

但是如果你真的想在系统python中安装这个包,为python 3安装pip是正确的方法。

在ubuntu 13.10/14.04上,情况有点不同。

安装

$ sudo apt-get install python3-pip

安装包

$ sudo pip3 install packagename

不是pip-3.3安装

直接执行pip二进制文件。

首先找到您想要的PIP版本。

jon-mint python3.3 # whereis ip
ip: /bin/ip /sbin/ip /usr/share/man/man8/ip.8.gz /usr/share/man/man7/ip.7.gz

然后执行。

jon-mint python3.3 # pip3.3 install pexpect
Downloading/unpacking pexpect
  Downloading pexpect-3.2.tar.gz (131kB): 131kB downloaded
  Running setup.py (path:/tmp/pip_build_root/pexpect/setup.py) egg_info for package pexpect

Installing collected packages: pexpect
  Running setup.py install for pexpect

Successfully installed pexpect
Cleaning up...

您可能想要构建一个python3的virtualenv,然后在激活virtualenv后安装python3的包。这样你的系统就不会乱套了:)

这可能是这样的:

virtualenv -p /usr/bin/python3 py3env
source py3env/bin/activate
pip install package-name

Ubuntu 12.10+和Fedora 13+有一个名为python3-pip的包,它将安装pip-3.2(或pip-3.3, pip-3.4或新版本的pip3),而不需要跳过这些步骤。


我遇到了这个问题,并在不需要wget或virtualenvs(假设Ubuntu 12.04)的情况下修复了这个问题:

安装python3-setuptools包:运行sudo aptitude Install python3-setuptools,这将为您提供easy_install3命令。 使用Python 3的setuptools安装pip:运行sudo easy_install3 pip,这将为您提供类似kev的解决方案的pip-3.2命令。 安装你的PyPI包:运行sudo pip-3.2 Install <package>(当然,在你的基本系统中安装python包需要root)。 ... 利润!