問題描述
我在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