2013-01-11 54 views
1

今天,我發現this fairly old (and highly voted) question,它讓我不知道,如果pip在Python社區普遍優於easy_install,爲什麼官方ipython.org文件指示新人和我一樣使用easy_install如圖所示here的easy_install,畫中畫,PY 3,和官方的IPython文檔

也許有一個隱含的假設,讀者正在使用Python 2?雖然高投票問題和幾個答案似乎都表明,pip普遍超過easy_install首選 PY2和PY3,讓喜歡它似乎不是答案...

回答

3

命令:

easy_install ipython[zmq,qtconsole,notebook,test] 

將安裝IPython和一些依賴項,包括已編譯部分的pyzmq。

easy_install可以處理二進制包,所以它可以安裝像pyzmq這樣的預編譯版本。相反,pip只適用於源代碼包。因此,對於包含已編譯部分的包,它會下載源代碼並嘗試對其進行編譯。有兩個問題:

  1. 用戶需要安裝一個C編譯器,再加上編譯的代碼依賴的任何開發頭文件。用戶通常不會。
  2. 速度很慢,特別是對於較大的包裝。

因此,使用大量編譯軟件包的科學Python世界並不像Web開發人員那樣使用pip。其實我們也不太喜歡easy_install - 我們有a variety of more powerful installation methods

+0

非常感謝。現在有道理,爲什麼介紹文檔建議新用戶使用處理二進制包的工具進行安裝。 OTOH,我很樂意從源頭上構建。多年來一直使用MacPorts來處理非Python的東西。也就是說,你會說在OS X上用** py3 **做'Scipy'最好的包管理方法是什麼?在你的鏈接中,看起來好像只有'Pyzo'沒有'py3',它不適用於OS X.雖然你的鏈接只提到了MacPorts,Anaconda和EPD的py2,但我確實看到了numpy,scipy,matplotlib,ipython ,「熊貓」,sympy和鼻子都放在'py3' MacPorts包中。你如何管理你的軟件包? – Osteoboon

+0

@KevinF:就我個人而言,我在Ubuntu上,所以我有apt(我聽說它說「解決其他包裝系統甚至不知道的問題」)。如果你在Macports包中看到所有必要的東西,那就去做吧。請注意,Macports可以合理地從源代碼編譯,因爲它知道非Python構建依賴關係。儘管如此,它仍然很慢 - 我必須在Mac上安裝Qt一次,編譯過程需要幾個小時。 –