我在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 apt-get install python3-pip
sudo pip3 install MODULE_NAME

来源:Shashank Bharadwaj的评论

长回答

简短的回答只适用于较新的系统。在某些版本的Ubuntu上,命令是pip-3.2:

sudo pip-3.2 install MODULE_NAME

如果它不起作用,这个方法应该适用于任何Linux发行版和受支持的版本:

sudo apt-get install curl
curl https://bootstrap.pypa.io/get-pip.py | sudo python3
sudo pip3 install MODULE_NAME

如果没有curl,使用wget。如果没有sudo,请切换到root。如果pip3符号链接不存在,检查类似pip-3的东西。X

很多python包也需要dev包,所以也要安装它:

sudo apt-get install python3-dev

来源: Python用PIP安装包 Pip最新安装

如果你想要一个更升级的Python版本,也可以查看Tobu的答案。

我想补充一点,使用虚拟环境通常是开发python应用程序的首选方式,因此@felixyan答案可能是理想情况下的最佳答案。但是如果您真的想要全局地安装这个包,或者如果需要频繁地测试/使用它而不激活虚拟环境,我认为将它安装为全局包是正确的方法。

其他回答

我在尝试安装pylab时遇到了同样的问题,我已经找到了这个链接

所以我在Python 3中安装pylab所做的是:

python3 -m pip install SomePackage

它已经正常工作了,正如你在链接中看到的,你可以为你拥有的每个Python版本这样做,所以我猜这解决了你的问题。

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

这可能是这样的:

virtualenv -p /usr/bin/python3 py3env
source py3env/bin/activate
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用户运行这些命令

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

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

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

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

如果你在两个python中都安装了pip,并且都在你的路径中,只需使用:

$ pip-2.7 install PACKAGENAME
$ pip-3.2 install PACKAGENAME

引用:

http://www.pip-installer.org/docs/pip/en/0.8.3/news.html#id4 https://github.com/pypa/pip/issues/200

这是问题2812520的副本