2013-08-05 14 views
13

Ho più virtualenv su una singola macchina, ma tutti hanno bisogno di numpy e panda. Voglio avere copie separate per ogni virtualenv, ma la creazione di questi virtualenv richiede un po 'di tempo. C'è qualche modo ben definito di precompilare NumPy e panda sulla mia macchina solo una volta e poi fare qualcosa di simile:Speedup creazione di virtualenv con numpy e panda

pip install my_precompiled_numpy 

risposta

13

Si potrebbe fare uso del pacchetto wheel. Facciamo questo a pandas per le nostre build di integrazione continua in modo che possiamo fondamentalmente scaricarli e installarli estremamente velocemente.

Dai uno sguardo allo ci/speedpack/build.sh. Questo script costruisce essenzialmente un mucchio di ruote che usiamo (incluso numpy e scipy) per CI. Veramente sono memorizzati sul server e poi tirati da lì quando corre travis-ci.

Dai uno sguardo allo ci/install.sh per vedere come funziona il processo di installazione.

Nella vostra situazione un server potrebbe essere eccessivo, ma è possibile impostare un repo locale e installare le ruote da lì.

+0

Le ruote funzionano senza librerie di sviluppo? Continua a dire "ImportError: /local/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so: simbolo non definito: dpotrf_'. Quali librerie installate sul vostro server CI affinché funzioni la ruota numpy? – utapyngo

+0

Ho notato che installi numpy dai sorgenti con Cython. Perché? – utapyngo

+0

Installiamo da fonti in modo che possiamo testare contro più versioni di numpy e altre librerie. È stato il modo più semplice per noi di accelerare le nostre iterazioni della CI senza dipendere dal gestore dei pacchetti (anche se alla fine abbiamo installato lapack in questo modo, non sono sicuro che Ubuntu tenga traccia di versioni multiple di numpy e altri). Costruiamo da fonti una sola volta, in modo da poter riutilizzare i pacchetti tramite le ruote. –

1

Vecchia domanda, ma ho pensato di aggiungere alcune informazioni recenti. Lavoro su entrambi OSX e Windows sullo stesso progetto. Ho avuto numerosi ritardi (principalmente solo ottenendo i file corretti ecc.) Da Windows nel tentativo di ottenere installazioni binarie per numpy, ecc. Sono passati ad usare Anaconda Distribution di recente e fa un ottimo lavoro di semplificazione della vita. Ha il suo sapore di ambienti virtuali cotti e semplifica notevolmente la vita.

http://continuum.io/

Problemi correlati