當前位置: 首頁>>技術教程>>正文


如何在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/zh-tw/article/9680.html,未經允許,請勿轉載。