Installazione di SciPy e NumPy tramite pip


157

Sto cercando di creare le librerie richieste in un pacchetto che sto distribuendo. Richiede entrambe le librerie SciPy e NumPy . Durante lo sviluppo, ho installato entrambi usando

apt-get install scipy

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

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

Il problema è, quando provo:

pip install 'numpy==1.5.1'

funziona benissimo.

Ma allora

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?


Hmm, sei sicuro che pip funzioni bene numpy=1.5.1invece di numpy==1.5.1(doppio uguale)?
Hugo Tavares,

Sto usando il doppio uguale, era un errore di battitura. L'ho appena inserito qui invece di copia incolla :)
eran

5
Oltre a Blas e Lapack è necessario installare blas-devele lapack-devel. Questo non è specificato nel documento, ma deve essere eseguito se si desidera installare utilizzando PIP.
Iñigo Hernáez Corres,

@ IñigoHernáezCorres (blas-devel e lapack-devel) sono anche YUMable, ho imparato, per quelli di noi su Amazon-Linux.
Tommy,

Risposte:


34

Sto assumendo l'esperienza di Linux nella mia risposta; Ho scoperto che ci sono tre prerequisiti pip install scipyper procedere bene.

Vai qui: installazione di SciPY

Seguire le istruzioni per scaricare, compilare ed esportare la variabile env per BLAS e quindi LAPACK . Fai attenzione a non solo tagliare alla cieca i comandi della shell: ci saranno alcune linee che devi selezionare a seconda della tua architettura, ecc. E dovrai correggere / aggiungere le directory corrette che assume erroneamente come bene.

La terza cosa di cui potresti aver bisogno è installare yum numpy-f2py o equivalente.

Oh, sì e, infine, potresti aver bisogno di installare gcc-gfortran poiché le librerie sopra sono fonte di Fortran .


le istruzioni che hai collegato durante l' installazione di SciPy sono state rimosse, potrebbe essere il collegamento qui ora scipy.org/scipylib/building/windows.html
jxramos

30
-1; questa risposta è stata resa inutile dalla rottura del collegamento. La sostanza della risposta è "seguire le istruzioni" sul link, ma la pagina è cambiata e non sono più lì. Inoltre, il richiedente stava usando un sistema operativo apt-getcome gestore dei pacchetti, ma questa risposta utilizza yum. Nulla di sbagliato nel fornire risposte che coprano piattaforme aggiuntive, ma dovrebbero essere segnalate come tali; altrimenti ciò sarà inutilmente confuso con i nomi Unix.
Mark Amery,

5
Per installare BLAS e LAPACK è necessario eseguireyum install lapack-devel.x86_64 blas-devel.x86_64
Max L

331

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
L'installazione è stata libblas-dev liblapack-devrisolta, blasma poi ho avuto tutto error: library dfftpack has Fortran sources but no Fortran compiler foundciò di cui avevo bisogno per installare Scipy. Grazie.
naoko,

6
Ho appena installato libblas-dev liblapack-dev gfortran, funziona per me su Ubuntu14.04
Jin

libblas era motivo di errore - non sono state trovate risorse lapack / blas
Oleg Abrazhaev

1
Amen per risposte non accettate che funzionano meglio di quelle accettate.
Felipe

per yum: yum installa blas-devel lapack-devel atlas-devel gcc-gfortran
Alec McGail

76

hai bisogno dei pacchetti dev di libblas e liblapack se stai usando Ubuntu.

aptitude install libblas-dev liblapack-dev
pip install scipy

13

Poiché le istruzioni precedenti per l'installazione con yum sono state interrotte, ecco 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

6

Stavo lavorando a un progetto che dipendeva da intorpidimento e scipy. In un'installazione pulita di Fedora 23, usando un ambiente virtuale Python per Python 3.4 (funzionava anche con Python 2.7) e con quanto segue nel mio setup.py (nel setup()metodo)

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

Ho scoperto di dover eseguire quanto segue per mettermi pip install -e .al lavoro:

pip install --upgrade pip

e

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

L' redhat-rpm-configè per uso di SciPy di redhat-hardened-cc1rispetto al normalecc1


3

Su Windows python 3.5 , sono riuscito a installare scipyutilizzando conda non pip :

conda install scipy

2

Che sistema operativo è questo? La risposta potrebbe dipendere dal sistema operativo in questione. Tuttavia, sembra che sia necessario trovare questa libreria BLAS e installarla. Non sembra essere in PIP (dovrete farlo a mano così), ma se lo installate, dovrebbe farvi procedere con l'installazione di SciPy.


È Ubuntu 11.10. Ho provato, questo è esattamente il mio problema. Cos'è la libreria e come la ottengo?
Eran,

25
Su Ubuntu, puoi fare ad esempio sudo apt-get install liblapack-dev libatlas-devpiù forse anche python-dev gfortranse ti mancano.
pv.

2
Non ho scritto quel post! Che diamine?
Shayne,

0

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.