2013-08-05 38 views
13

我在一臺機器上有多個virtualenvs,但它們都需要numpy和pandas。我希望爲每個virtualenv分離副本,但創建這些virtualenvs需要相當長的一段時間。有一些預編譯我的機器上numpy的和熊貓只有一次,然後像做明確的方式:numpy和pandas加速virtualenv製作

pip install my_precompiled_numpy 

回答

13

你可以利用wheel包。我們通過pandas來完成我們的持續集成構建,以便我們可以基本上下載它們並以極快的速度安裝它們。請參考ci/speedpack/build.sh。這個腳本基本上爲我們構建了一堆我們使用的輪子(包括numpy和scipy)。它們實際上存儲在服務器上,然後在Travis-ci運行時從那裏拉出。

看看ci/install.sh,看看安裝過程是如何工作的。

在你的情況下,服務器可能是矯枉過正,但你可以設置一個本地倉庫,並從那裏安裝輪子。

+0

沒有開發庫的車輪工作嗎? 它一直說'ImportError:/local/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so:undefined symbol:dpotrf_'。 你安裝了什麼庫到你的CI服務器以使numpy wheel工作? – utapyngo

+0

我注意到你使用Cython從源代碼安裝numpy。爲什麼? – utapyngo

+0

我們從源代碼安裝,以便我們可以測試numpy和其他庫的多個版本。這是我們加快CI迭代的最簡單方法,而不依賴於包管理器(儘管我們以這種方式安裝了lapack,但我不確定Ubuntu是否會跟蹤numpy等的多個版本)。我們只從源頭創建一次,以便我們可以通過輪子重新使用這些包。 –

1

老問題,但認爲我可以添加一些最近的見解。我在同一個項目上同時在OSX和Windows上工作。我在Windows試圖獲得numpy的二進制安裝等方面有很多延遲(主要是獲取正確的文件等)。最近已經切換到使用Anaconda Distribution,它在簡化生活方面做了很好的工作。它具有自己的虛擬環境風味,可以大大簡化生活。

http://continuum.io/