当前位置: 首页>>技术教程>>正文


如何在Ubuntu上通过pip安装python3版本的软件包?

, , , ,

问题描述

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

当我键入:

sudo pip install package-name

它将默认安装package-namepython2版本。

某些软件包同时支持python2python3。如何通过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.3pip-3.4pip3),而无需跳过箍。


我遇到了这个问题,并在不需要wget或virtualenvs(假设Ubuntu 12.04)的情况下解决了此问题:

  1. 安装软件包python3-setuptools:运行sudo aptitude install python3-setuptools,这将为您提供命令easy_install3

  2. 使用Python 3的setuptools安装pip:运行sudo easy_install3 pip,这将为您提供命令pip-3.2,如kev的解决方案。

  3. 安装您的PyPI软件包:运行sudo pip-3.2 install <package>(将python软件包安装到基本系统中当然需要root)。

  4. 利润!

第三种方法

简短答案

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-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]
    

第八种方法

如果您在两个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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9680.html,未经允许,请勿转载。