如何在 Ubuntu 上通过 pip 安装 python3 版本的软件包?
Posted
技术标签:
【中文标题】如何在 Ubuntu 上通过 pip 安装 python3 版本的软件包?【英文标题】:How to install python3 version of package via pip on Ubuntu? 【发布时间】:2012-06-01 13:39:12 【问题描述】:我在Ubuntu 12.04
中安装了python2.7
和python3.2
。
符号链接python
链接到python2.7
。
当我输入时:
sudo pip install package-name
它将默认安装python2
版本的package-name
。
某些包同时支持python2
和python3
。
如何通过pip
安装python3
版本的package-name
?
【问题讨论】:
您的系统中是否有单独的pip-2.7
和pip-3.2
命令?
我可以把/usr/bin/pip
的第一行从#!/usr/bin/python
改成#!/usr/bin/python3
吗?
是的,但我建议您将cp
将pip
更改为pip-3.2
然后更改它,这样您下次会有更好的选择:)
pip: dealing with multiple Python versions? 的可能重复项
如果您在使用 pip-2.7 等方面遇到问题。请尝试从命令行运行 whereis pip
。似乎他们在 Ubuntu 14.04 上将名称更改为 pip2.7。
【参考方案1】:
你可能想构建一个python3的virtualenv
,然后在激活virtualenv之后安装python3的包。这样你的系统就不会乱了:)
这可能是这样的:
virtualenv -p /usr/bin/python3 py3env
source py3env/bin/activate
pip install package-name
【讨论】:
即使您没有在主 Python 3 中安装 pip,virtualenv 是否也会安装它?如果是这样,那么这确实解决了他的问题。否则不行。 是的,virtualenv 安装 pip。 好的。不过,我仍然认为答案并没有真正以通用的方式回答他的问题。 这对我有用。两个补充:您可以将virtualenv
保留为deactivate
,并且python3 可能安装在不同的位置。我的地址是/usr/local/bin/python3
,你可以通过which python3
找到它
在@LennartRegebro 和@user2503795 之后,我可以确认这更可靠:virtualenv -p `which python3` py3env
【参考方案2】:
安装最新的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
运行这些命令
【讨论】:
【参考方案3】:首先,您需要为所需的 Python 3 安装安装 pip。然后你运行那个 pip 来安装那个 Python 版本的包。
由于您在 /usr/bin 中同时拥有 pip 和 python 3,我假设它们都安装了某种包管理器。那个包管理器也应该有一个 Python 3 pip。那是你应该安装的。
Felix 对 virtualenv 的推荐是一个不错的选择。如果你只是在测试,或者你在做开发,那么你不应该在系统 python 中安装包。在这些情况下,使用 virtualenv 甚至构建自己的 Python 进行开发会更好。
但是如果你真的确实想在系统python中安装这个包,安装pip for Python 3是要走的路。
【讨论】:
【参考方案4】:如果您在两个 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的重复项
【讨论】:
【参考方案5】: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 pip-3.2 install <package>
,需要超级用户权限。
您可以将第 1 步和第 2 步结合起来,然后执行:sudo apt-get install python3-pip
packages.ubuntu.com 展示了这个超级方便的包,适用于 Ubuntu 12.10,但不适用于 12.04:packages.ubuntu.com/…(虽然很好;))
pip-3.3、pip-3.4 等不再工作。现在只是:pip、pip2、pip3。 (至少在 Ubuntu 14.04 上)
此解决方案也适用于 debian wheezy 和 kali linux【参考方案6】:
简答
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 pipPip latest install
如果您想要更升级的 Python 版本,也请查看 Tobu's answer。
我想补充一点,使用虚拟环境通常是开发 python 应用程序的首选方式,所以@felixyan 的答案可能是理想世界中最好的。但是,如果您真的想全局安装该软件包,或者如果需要在不激活虚拟环境的情况下频繁测试/使用它,我认为将其安装为全局软件包是可行的方法。
【讨论】:
curl
给我打电话,第 48 行出现语法错误。
@icedwater:如果您不发布跟踪信息(使用 pastebin),将无济于事。
感谢@MarcoSulla,但我刚刚重新运行并注意到UserWarning: Support for Python 3.0-3.2 has been dropped. Future versions will fail here.
粘贴在ix.io/1fX5 供所有感兴趣的各方使用:)
当使用pip
不再支持的python 版本时,可能会出现syntax error
。上述命令适用于 python3.5
如果pip已经安装了还是不行,建议先sudo apt-get purge python3-pip
【参考方案7】:
很简单:
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
【讨论】:
【参考方案8】:老问题,但没有一个答案让我满意。我的一个系统正在运行 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]
【讨论】:
【参考方案9】:虽然这个问题与 Ubuntu 有关,但让我说我在 Mac 上,我的 python
命令默认为 Python 2.7.5。我也有 Python 3,可以通过 python3
访问,所以知道 pip 包的来源,我刚刚下载了它并针对它发出了sudo python3 setup.py install
,当然,现在只有 Python 3 在其站点包中包含这个模块。希望这对流浪的 Mac 陌生人有所帮助。
【讨论】:
【参考方案10】:嗯,在 ubuntu 13.10/14.04 上,情况有些不同。
安装
$ sudo apt-get install python3-pip
安装包
$ sudo pip3 install packagename
不是pip-3.3 install
【讨论】:
适用于 Ubuntu 14.04 适用于 Ubuntu 16.04 这将适用于从 12.04 开始的所有 Ubuntu 版本【参考方案11】:另一种安装 python3 的方法是使用 wget。以下是安装步骤。
wget http://www.python.org/ftp/python/3.3.5/Python-3.3.5.tar.xz
tar xJf ./Python-3.3.5.tar.xz
cd ./Python-3.3.5
./configure --prefix=/opt/python3.3
make && sudo make install
另外,也可以使用创建别名
echo 'alias py="/opt/python3.3/bin/python3.3"' >> ~/.bashrc
现在打开一个新终端并输入 py 并按 Enter。
【讨论】:
【参考方案12】:直接执行 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...
【讨论】:
【参考方案13】:我在尝试安装 pylab 时遇到了同样的问题,我发现了这个link
所以我在 Python 3 中安装 pylab 所做的是:
python3 -m pip install SomePackage
它工作正常,正如您在链接中看到的,您可以为您拥有的每个 Python 版本执行此操作,所以我想这可以解决您的问题。
【讨论】:
虽然 Fedora 有一个python3-pip
包,但它不会像其他答案中建议的那样创建 pip3
或 pip-3
命令。这个答案确实有效。
这很好用,但它假设 pip
已经通过以下方式安装:sudo apt-get install python3-pip
【参考方案14】:
您应该安装所有依赖项:
sudo apt-get install build-essential python3-dev python3-setuptools python3-numpy python3-scipy libatlas-dev libatlas3gf-base
安装pip3(如果已经安装,请看第三步):
sudo apt-get install python3-pip
我通过 pip3 安装 scikit-learn
pip3 install -U scikit-learn
打开终端进入python3环境,输入import sklearn
查看。
【讨论】:
【参考方案15】:您也可以只运行pip3 install packagename
而不是pip
,
【讨论】:
您的答案与此页面上的许多答案重复。 (在文本中搜索“pip3”)我没有看到任何附加值。【参考方案16】:如果您的系统默认使用python2
,请使用以下命令将软件包安装到python3
$ python3 -m pip install <package-name>
【讨论】:
【参考方案17】:要为 python3 使用安装 pip,应使用 pip3 而不是 pip。 在 ubuntu 18.08 仿生中安装 python 在安装一个版本的python之前,先激活虚拟环境,这样以后的python版本就不会出问题了。
virtualenv -p /usr/bin/python3 py3env
source py3env/bin/activate
然后安装你想要的实际python版本。
>> sudo apt-get install python3.7
在ubuntu中安装需要的pip包>> sudo apt-get install python3-pip
【讨论】:
以上是关于如何在 Ubuntu 上通过 pip 安装 python3 版本的软件包?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ubuntu 上通过 pip 安装 python3 版本的软件包?
如何在 Ubuntu 上通过 pip 安装 python3 版本的软件包?