CentOS的7 EPEL現在包括Python的3.4:yum install python34
如何在CentOS 7中安裝pip?
然而,當我嘗試,儘管Python的3.4安裝成功,它不會出現安裝點子。這很奇怪,因爲pip
應該默認包含在Python 3.4中。 which pip3
找不到任何東西,也沒有which pip
。
如何在CentOS 7 EPEL版本中從Python 3.4包中訪問pip?
CentOS的7 EPEL現在包括Python的3.4:yum install python34
如何在CentOS 7中安裝pip?
然而,當我嘗試,儘管Python的3.4安裝成功,它不會出現安裝點子。這很奇怪,因爲pip
應該默認包含在Python 3.4中。 which pip3
找不到任何東西,也沒有which pip
。
如何在CentOS 7 EPEL版本中從Python 3.4包中訪問pip?
我發現安裝pip3最簡單的方法(對於python3。x軟件包):
$ sudo yum install python34-setuptools
$ sudo easy_install-3.4 pip
當然,您需要事先啓用EPEL存儲庫。
您現在應該可以像下面的安裝包python3.x運行命令:
$ pip3 install foo
這應該是被接受的答案。 – maxschlepzig
我認爲這是最好的解決方案,同時保持一切健全。我不建議編輯__init__.py – laapsaap
同意的最佳解決方案使此默認答案 –
curl https://bootstrap.pypa.io/get-pip.py | python3.4
或者,如果你沒有curl
出於某種原因做:
wget https://bootstrap.pypa.io/get-pip.py
python3.4 get-pip.py
在這之後,你應該能夠運行
$ pip3
我得到這個錯誤:zipimport.ZipImportError:無法解壓縮數據; zlib不可用...你知道爲什麼會發生這種情況嗎? – SoldierCorp
聽起來像你沒有zlib-devel或zlib,具體取決於。你可以嘗試與你的軟件包管理器一起安裝嗎? sudo yum安裝zlib或sudo apt-get install zlib。我希望有所幫助。 – DevOops
我也面臨與@SoldierCorp相同的問題,但是當我嘗試安裝'zlib'時,它說'Package zlib-1.2.3-29.el6.x86_64已經安裝並且最新版本'任何想法發生了什麼? –
CentOS的7 yum包爲python34不包括ensurepip
模塊,但由於某些原因缺少應該成爲該模塊一部分的setuptools和pip文件。要修復,下載一封來自PyPI最新的車輪到模塊的_bundled
目錄(/lib64/python3.4/ensurepip/_bundled/
):
setuptools-18.4-py2.py3-none-any.whl
pip-7.1.2-py2.py3-none-any.whl
然後編輯__init__.py
匹配下載的版本:
_SETUPTOOLS_VERSION = "18.4"
_PIP_VERSION = "7.1.2"
之後python3.4 -m ensurepip
按預期工作。 Ensurepip在每次創建虛擬環境時將自動調用,例如:
pyvenv-3.4 py3
source py3/bin/activate
希望RH將修復損壞的Python3.4 yum包,這樣不需要手動跳線。
非常感謝。對於那些需要這些輪子可在這裏找到setuptools https://pypi.python.org/simple/setuptools/和這裏用於點 https://pypi.python.org/simple/pip/ – yoshiwaan
不幸的是,編輯ensurepip __init__.py文件導致RPM驗證失敗,並且還會覆蓋程序包更新。 – carlwgeorge
我很想知道他們的理由是什麼導致這個混亂。我告訴自己必須有一個很好的理由...... – xenithorb
在CentOS 7,pip
版本爲pip3.4
和位置爲:
/usr/local/bin/pip3.4
/usr/local/bin中的文件不太可能由RHEL/CentOS打包。你能成功執行「rpm -qf /usr/local/bin/pip3.4」嗎?如果這樣的話,輸出中的「rpm -qi
而不是使用broken EPEL python34 packages,您可以啓用IUS repo並讓它正常工作。
主要python34u
和python35u
IUS封裝包括pyvenv工具(/usr/bin/pyvenv-3.4
或/usr/bin/pyvenv-3.5
),其包括PIP的捆綁車輪和setuptools的提供引導虛擬環境。
的python34u-pip
和python35u-pip
IUS套餐分別包括/usr/bin/pip3.4
和/usr/bin/pip3.5
。這些工作可以很好地將軟件包安裝到系統site-packages目錄。
不知道爲什麼有人會低估這個答案。感謝您將IUS引入我們的視線。 – Dave
關於downvote,這將有助於解釋關於EPEL安裝的「破壞」評論。我今天也從相關的搜索中發現了IUS,任何提到的答案都值得讚賞。 –
@MarkEdington我編輯了答案,添加一個鏈接到https://bugzilla.redhat.com/show_bug.cgi?id=1263057。 – carlwgeorge
yum install python34-pip
pip3.4 install foo
您可能需要安裝EPEL庫:
yum install -y epel-release
這個yum軟件包來自哪個倉庫? –
CentOS 7. *:'yum install -y epel-release' –
這樣的聲音最近被添加到EPEL中,並且可能應該成爲正確的答案。一旦其他人確認這對他們有用,那麼我會將其作爲公認的答案。 –
只需使用easy_install(一個Setuptools來打包python librarie)就可以輕鬆完成此操作。
假設。 在執行此操作之前,請檢查您的CentOS機器是否安裝了python(至少2.x)。
安裝pip的步驟。
因此,讓你安裝的easy_install,
sudo yum install python-setuptools python-setuptools-devel
現在,讓我們做的easy_install點子,
sudo easy_install pip
這是偉大的。現在你有點子:)
可能相關:http://stackoverflow.com/questions/26576086/no-pip-binary-after-installing-python-3-4-2-on-centos-6-5 – cel
我看了看那裏,但不幸的是沒有任何關係。 –
所以沒有'pip34'二進制文件?那麼,如果安裝了,你將總能通過'python -m pip'調用pip。如果沒有安裝'python -m ensurepip'可以用來引導它。您可能需要提升權限才能調用後者的命令。 – cel