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

当我输入:

sudo pip install package-name

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

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


当前回答

很容易:

sudo aptitude install python3-pip
pip-3.2 install --user pkg

如果你想要Python 3.3,这不是Ubuntu 12.10的默认设置:

sudo aptitude install python3-pip python3.3
python3.3 -m pip.runner install --user pkg

其他回答

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

这可能是这样的:

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

如果您的系统默认使用python2,使用下面的命令将包安装到python3

$ python3 -m PIP install <package-name>

安装最新的pip2/pip3及相应软件包的最简单方法:

curl https://bootstrap.pypa.io/get-pip.py | python2
pip2 install package-name    

curl https://bootstrap.pypa.io/get-pip.py | python3
pip3 install package-name

注意:请以root用户运行这些命令

直接执行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...

虽然这个问题与Ubuntu有关,但让我说一下,我在Mac上,我的python命令默认为python 2.7.5。我也有Python 3,可以通过python3访问,所以知道pip包的起源,我只是下载了它,并针对它发布了sudo python3 setup.py install,当然,只有Python 3的站点包中现在有这个模块。希望这能帮助到一个对mac陌生的人。