问题描述
我在Ubuntu 12.04
中同时安装了python2.7
和python3.2
。符号链接python
链接到python2.7
。
当我键入:
sudo pip install package-name
它将默认安装package-name
的python2
版本。
某些软件包同时支持python2
和python3
。如何通过pip
安装package-name
版本的python3
?
最佳方法
您可能要构建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
,这将为您提供命令pip-3.2
,如kev的解决方案。 -
安装您的PyPI软件包:运行
sudo pip-3.2 install <package>
(将python软件包安装到基本系统中当然需要root)。 -
…
-
利润!
第三种方法
简短答案
sudo apt-get install python3-pip
sudo pip3 install MODULE_NAME
资料来源:Shashank Bharadwaj’s comment
长答案
简短的答案仅适用于较新的系统。在某些版本的Ubuntu上,命令为pip-3.2
:
sudo pip-3.2 install MODULE_NAME
如果不起作用,则此方法应适用于任何Linux发行版和supported version:
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 installing packages with pip Pip latest install
如果您想要更高版本的Python,也请检查Tobu’s answer。
我想补充一点,使用虚拟环境通常是开发python应用程序的首选方法,因此@felixyan答案可能是理想世界中的最佳选择。但是,如果您真的想在全球范围内安装该程序包,或者需要在不激活虚拟环境的情况下频繁测试/使用它,那么我认为将其作为全局程序包安装是可行的方法。
第四种方法
好吧,在Ubuntu 13.10 /14.04上,情况有所不同。
Install
$ sudo apt-get install python3-pip
安装套件
$ sudo pip3 install packagename
不是pip-3.3 install
第五种方法
安装最新的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
的身份运行这些命令
第六种方法
尝试安装pylab时遇到了同样的问题,并且我发现了这个link
因此,我在Python 3中安装pylab所做的工作是:
python3 -m pip install SomePackage
它运行正常,并且如您在链接中所见,您可以为每个Python版本执行此操作,因此我想这可以解决您的问题。
第七种方法
旧问题,但没有一个答案令我满意。我的系统之一正在运行Ubuntu 12.04 LTS,由于某种原因,没有针对Python 3的软件包python3-pip
或python-pip
。所以这就是我所做的(所有命令均以root身份执行):
-
如果没有,请为Python3安装
setuptools
。apt-get install python3-setuptools
要么
aptitude install python3-setuptools
-
在Python 2.4及更高版本中,您可以使用
python -m easy_install
调用具有特定Python版本的easy_install
。因此,可以通过以下方式安装适用于Python 3的pip
:python3 -m easy_install pip
-
就这样,您已经获得了适用于Python 3的
pip
。现在只需使用特定版本的Python调用pip
即可安装适用于Python 3的软件包。例如,在系统上安装了Python 3.2的情况下,我使用了:pip-3.2 install [package]
第八种方法
如果您在两个python中都安装了pip,并且都在路径中,请使用:
$ pip-2.7 install PACKAGENAME
$ pip-3.2 install PACKAGENAME
参考文献:
这是问题#2812520的重复项
第九种方法
如果您的系统默认使用python2
,请使用以下命令将软件包安装到python3
$ python3 -m pip install <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