2012-06-20 20 views
140

Sto provando a creare le librerie richieste in un pacchetto che sto distribuendo. Richiede entrambe le librerie SciPy e NumPy. Durante lo sviluppo, ho installato sia utilizzandoInstallazione di SciPy e NumPy tramite pip

apt-get install scipy 

che ha installato SciPy 0.9.0 e 1.5.1 NumPy, e ha funzionato bene.

Mi piacerebbe fare lo stesso usando pip install - per poter specificare dipendenze in un setup.py del mio pacchetto.

Il problema è che quando provo:

pip install 'numpy==1.5.1' 

funziona benissimo.

Ma poi

pip install 'scipy==0.9.0' 

fallisce miseramente, con

raise self.notfounderror(self.notfounderror.__doc__) 

numpy.distutils.system_info.BlasNotFoundError: 

Blas (http://www.netlib.org/blas/) libraries not found. 

Directories to search for the libraries can be specified in the 

numpy/distutils/site.cfg file (section [blas]) or by setting 

the BLAS environment variable. 

Come faccio a farlo funzionare?

+0

Hmm, Sei sicuro che pip funzioni bene con 'numpy = 1.5.1' anziché' numpy == 1.5.1' (doppio uguale)? –

+0

Sto usando il doppio equivale, quello era un errore di battitura. L'ho appena inserito qui invece che in copia incolla :) – eran

+5

Oltre a blas e lapack è necessario installare 'blas-devel' e' lapack-devel'. Questo non è specificato nel documento, ma deve essere eseguito se si desidera installare utilizzando PIP. –

risposta

29

Sto assumendo l'esperienza di Linux nella mia risposta; Ho trovato che ci sono tre prerequisiti per ottenere pip install scipy procedere bene.

andare qui: Installing SciPY

seguire le istruzioni per scaricare, creare ed esportare la variabile ENV per BLAS e poi LAPACK. Fai attenzione a non solo tagliare ciecamente i comandi della shell: ci saranno alcune linee che dovrai selezionare a seconda dell'architettura, ecc. E dovrai correggere/aggiungere le directory corrette che assume erroneamente come bene.

La terza cosa che potrebbe essere necessario è yum installare numpy-f2py o equivalente.

Oh, sì e, infine, potrebbe essere necessario yum install gcc-gfortran come le librerie di cui sopra sono Fortran fonte.

+0

che hai collegato in _Installing SciPy_ sono state rimosse, potrebbero essere collegate qui ora http://www.scipy.org/scipylib/building/windows.html – jxramos

+26

-1; questa risposta è stata resa inutile dalla rottura del link. La carne della risposta è "seguire le istruzioni" al link, ma la pagina è cambiata e non sono più lì. Inoltre, il richiedente stava usando un sistema operativo con 'apt-get' come gestore pacchetti, ma questa risposta usa' yum'. Niente di male nel fornire risposte che coprano piattaforme aggiuntive, ma dovrebbero essere segnalate come tali; questo sarà inutilmente confondendo con i noob Unix altrimenti. –

+4

Per installare BLAS e LAPACK è necessario eseguire 'yum install lapack-devel.x86_64 blas-devel.x86_64' –

2

Che sistema operativo è? La risposta potrebbe dipendere dal sistema operativo coinvolto. Tuttavia, sembra che tu abbia bisogno di trovare questa libreria BLAS e installarla. Non sembra essere in PIP (dovrai farlo a mano così), ma se lo installi, dovrebbe farti progredire nell'installazione di SciPy.

+0

È ubuntu 11.10. Ho provato, questo è esattamente il mio problema. Qual è la biblioteca e come ottenerla? – eran

+25

Su Ubuntu, puoi fare ad es. 'sudo apt-get installa liblapack-dev libatlas-dev' più forse anche' python-dev gfortran' se ti mancano. –

+2

Non ho fatto quel post! Che diamine? Le istruzioni – Shayne

67

se si utilizza Ubuntu sono necessari i pacchetti dev di libblas e liblapack.

aptitude install libblas-dev liblapack-dev 
pip install scipy 
298

questo ha funzionato per me su Ubuntu 14.04:

sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran 
pip install scipy 
+4

Installare' '' libblas-dev liblapack-dev''' risolto '' 'blas''' ma poi ho ottenuto '' 'errore: libreria dfftpack ha sorgenti Fortran ma nessun compilatore Fortran trovato''' quindi avevo bisogno di tutto questo per poter installare scipy. Grazie. – naoko

+2

Questa soluzione ha funzionato anche su Ubuntu 15.04 – juliocesar

+4

ha funzionato anche su 15.10 – percusse

6

stavo lavorando su un progetto che dipendeva NumPy e SciPy. In una installazione pulita di Fedora 23, usando un ambiente virtuale python per Python 3.4 (funzionato anche con Python 2.7), e con quanto segue nella mia configurazione.py (nel metodo setup())

setup_requires=[ 
    'numpy', 
], 
install_requires=[ 
    'numpy', 
    'scipy', 
], 

ho scoperto che ho dovuto eseguire il seguente per arrivare pip install -e . al lavoro:

pip install --upgrade pip 

e

sudo dnf install atlas-devel gcc-{c++,gfortran} subversion redhat-rpm-config 

Il redhat-rpm-config è per uso di SciPy di redhat-hardened-cc1 in contrasto con il regolare cc1

12

Poiché le precedenti istruzioni per l'installazione con yum sono interrotte qui ci sono le istruzioni aggiornate per l'installazione su qualcosa come Fedora. Ho provato questo su "Amazon Linux AMI 2016.03"

sudo yum install atlas-devel lapack-devel blas-devel libgfortran 
pip install scipy 
0

nel mio caso, l'aggiornamento pip ha fatto il trucco. Inoltre, ho installato SciPy con U parametro (aggiorna tutti i pacchetti all'ultima versione disponibile)

2

Su finestre, utilizzando python3,5, sono riuscito a installare scipy utilizzando condanonpip:

conda install scipy 
Problemi correlati