爲何要使用pip而不是easy_install? [關閉]

推文內容以下: html

不要使用easy_install,除非你喜歡刺傷本身的臉。 使用點子。 python

爲何要使用pip而不是easy_install? 問題不在於PyPI和包裝做者嗎? 若是做者將垃圾源tarball(例如:丟失文件,沒有setup.py)上傳到PyPI,那麼pip和easy_install都將失敗。 除了化妝品差別,爲何Python人(如上面的推文)彷佛強烈支持pip而不是easy_install? git

(咱們假設咱們正在討論來自Distribute包的easy_install,這是由社區維護的) ide


#1樓

做爲fuzzyman的回覆的補充: 工具

pip不會安裝二進制包,而且在Windows上沒有通過良好測試。 測試

因爲Windows默認狀況下沒有編譯器,所以pip一般不能在那裏使用。 easy_install能夠爲Windows安裝二進制包。 spa

這是Windows上的一個技巧: code

  • 您可使用easy_install <package>來安裝二進制包以免構建二進制文件 htm

  • 即便您使用easy_install,也可使用pip uninstall <package>ip

這只是一個適用於Windows的解決方法。 實際上,若是不涉及二進制文件,我老是使用pip。

查看當前的pip doku: http ://www.pip-installer.org/en/latest/other-tools.html#pip-compared-to-easy-install

我會在郵件列表上詢問計劃的內容。

這是最新的更新:

安裝二進制文件的新支持方式將是wheel ! 它尚未達到標準,但差很少。 當前版本仍然是alpha:1.0.0a1

https://pypi.python.org/pypi/wheel

http://wheel.readthedocs.org/en/latest/

我將經過使用wheel而不是egg爲PySide建立OS X安裝程序來測試wheel 。 將回來並報告此事。

歡呼 - 克里斯

快速更新:

過渡到wheel幾乎結束了。 大多數包都是支撐wheel

我答應爲PySide製造輪子,去年夏天我就這樣作了。 效果很好!

提示:到目前爲止,一些開發人員未能支持輪式,只是由於他們忘記用setuptools替換distutils 。 一般,經過在setup.py替換此單個單詞,能夠輕鬆轉換此類包。


#2樓

更新:正如一些人所想的那樣, setuptools吸取了distribute ,而不是相反。 setuptools是最新的distutils更改和輪式格式。 所以, easy_installpip如今或多或少處於平等地位。

資料來源: http//pythonhosted.org/setuptools/merge-faq.html#why-setuptools-and-not-distribute-or-another-name


#3樓

剛剛遇到一個我必須使用easy_install而不是pip特殊狀況,或者我必須直接提取源代碼。

對於包GitPythonpip的版本太舊,爲0.1.7 ,而easy_install是最新的0.3.2.rc1

我正在使用Python 2.7.8 。 我不肯定easy_installpip的底層機制,但至少某些軟件包的版本可能彼此不一樣,有時easy_install是新版本的版本。

easy_install GitPython

#4樓

這裏的許多答案都是2015年的過期(儘管丹尼爾羅斯曼最初接受的答案不是)。 這是現狀:

  • 二進制包如今做爲輪子( .whl文件)分發 - 不僅是在PyPI上,而是在第三方存儲庫中,如Christoph Gohlke的Windows擴展包pip能夠處理輪子; easy_install不能。
  • 虛擬環境(內置3.4,或者能夠經過virtualenv添加到2.6 + / 3.1 +)已經成爲一個很是重要和突出的工具(並在官方文檔中推薦); 它們包括開箱即用的pip ,可是甚至沒法使用easy_install正常工做。
  • 再也不維護包含easy_installdistribute包。 它對setuptools改進已合併回setuptools 。 嘗試安裝distribute只會安裝setuptools
  • easy_install自己只是準維護。
  • 全部pip曾經不如easy_install從解壓縮的源代碼樹,DVCS倉庫等安裝 - 的狀況都好久了; 你能夠pip install .pip install git+https://
  • pip附帶了python.org的官方Python 2.7和3.4+軟件包,若是你從source構建,默認包含一個pip引導程序。
  • 有關安裝,使用和構建軟件包的各類不完整文檔已被「 Python打包用戶指南」取代。 Python本身的安裝Python模塊文檔如今遵循本用戶指南,並明確地將pip稱爲「首選安裝程序」。
  • 其餘新功能已經添加到pip多年來永遠不會在easy_install 。 例如, pip能夠經過構建需求文件而後在每一側使用單個命令安裝它來輕鬆克隆您的站點包。 或者將您的需求文件轉換爲本地倉庫以用於內部開發。 等等。

我知道在2015年使用easy_install的惟一緣由是使用Apple預裝的Python版本與OS X 10.5-10.8的特殊狀況。 自10.5以來,Apple已經包含了easy_install ,但截至10.10,他們仍然不包括pip 。 使用10.9+,你應該只使用get-pip.py ,但對於10.5-10.8,這有一些問題,因此sudo easy_install pip更容易。 (通常來講, easy_install pip是一個壞主意;它只適用於OS X 10.5-10.8,你想要這樣作。)另外,10.5-10.8包含readline ,方式easy_install知道如何克服但pip沒有,因此若是你想升級它,你也想要sudo easy_install readline


#5樓

有兩個緣由,可能會有更多:

  1. pip提供了一個uninstall命令

  2. 若是安裝在中間失敗,則pip將使您處於乾淨狀態。

相關文章
相關標籤/搜索