如何在 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.7python3.2。 符号链接python 链接到python2.7

当我输入时:

sudo pip install package-name

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

某些包同时支持python2python3。 如何通过pip安装python3版本的package-name

【问题讨论】:

您的系统中是否有单独的pip-2.7pip-3.2 命令? 我可以把/usr/bin/pip的第一行从#!/usr/bin/python改成#!/usr/bin/python3吗? 是的,但我建议您将cppip 更改为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.3pip-3.4pip3 对于较新的版本),而无需跳过这些麻烦。


我遇到了这个问题并修复了这个问题,而不需要 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-pippython-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 包,但它不会像其他答案中建议的那样创建 pip3pip-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 版本的软件包?

如何在 Ubuntu 上安装 pip

如何在 ubuntu 20.04 上安装 python3-pip

Ubuntu14.04LTS上安装Pip

在 Ubuntu 18.04 上为 python 安装 mysqlclient 时出错