Installazione di Windows Scipy: nessuna risorsa Lapack / Blas trovata


169

Sto cercando di installare Python e una serie di pacchetti su un desktop Windows 7 a 64 bit. Ho installato Python 3.4, ho installato Microsoft Visual Studio C ++ e ho installato con successo numpy, panda e pochi altri. Ricevo il seguente errore quando provo ad installare scipy;

numpy.distutils.system_info.NotFoundError: no lapack/blas resources found

Sto usando pip install offline, il comando install che sto usando è;

pip install --no-index --find-links="S:\python\scipy 0.15.0" scipy

Ho letto qui i post su come richiedere un compilatore che, se ho capito bene, è il compilatore VS C ++. Sto usando la versione 2010 come sto usando Python 3.4. Questo ha funzionato per altri pacchetti.

Devo usare il binario della finestra o c'è un modo per far funzionare pip install?

Mille grazie per l'aiuto


4
Penso che richieda un compilatore Fortran. Ma se i binari predefiniti sono accettabili, puoi usare i pacchetti di ruote intorpidite e scipy di Christoph Gohlke con pip.
Eryk Sun,

Grazie Eryksun, sto scaricando i file binari per vedere se questo risolve il problema.
tjb305,

Frustrantemente quando provo ad installare il binario, afferma che non ho installato Python 3.4, anche se è presente in PATH.
tjb305,

Provapy -3.4 -m pip install SomePackage.whl
Eryk Sun

2
Ho avuto anche questo problema. Non sono riuscito a far funzionare pip, ma questo ha funzionato per me (su Widows): sourceforge.net/projects/scipy/files/scipy
MackM,

Risposte:


33

La soluzione all'assenza di librerie BLAS / LAPACK per installazioni SciPy su Windows 7 a 64 bit è descritta qui:

http://www.scipy.org/scipylib/building/windows.html

L'installazione di Anaconda è molto più semplice, ma non ottieni ancora il supporto Intel MKL o GPU senza pagarlo (sono nelle ottimizzazioni MKL e accelerano i componenti aggiuntivi per Anaconda - non sono sicuro se usano PLASMA e MAGMA) . Con l'ottimizzazione MKL, numpy ha superato di 10 volte l'IDL sui calcoli con matrici di grandi dimensioni. MATLAB utilizza la libreria Intel MKL internamente e supporta il calcolo GPU, quindi si potrebbe anche usarlo per il prezzo se sono studenti ($ 50 per MATLAB + $ 10 per Parallel Computing Toolbox). Se ottieni la versione di prova gratuita di Intel Parallel Studio, viene fornito con la libreria MKL, nonché i compilatori C ++ e FORTRAN che ti torneranno utili se desideri installare BLAS e LAPACK da MKL o ATLAS su Windows:

http://icl.cs.utk.edu/lapack-for-windows/lapack/

Parallel Studio include anche la libreria Intel MPI, utile per le applicazioni di cluster computing e i loro ultimi processori Xeon. Mentre il processo di creazione di BLAS e LAPACK con l'ottimizzazione MKL non è banale, i vantaggi di farlo per Python e R sono piuttosto ampi, come descritto in questo webinar Intel:

https://software.intel.com/en-us/articles/powered-by-mkl-accelerating-numpy-and-scipy-performance-with-intel-mkl-python

Anaconda ed Enthought hanno creato aziende che hanno reso questa funzionalità e alcune altre cose più facili da implementare. Tuttavia, è liberamente disponibile per coloro che desiderano fare un po 'di lavoro (e un po' di apprendimento).

Per coloro che usano R, ora puoi ottenere BLAS e LAPACK ottimizzati MKL gratuitamente con R Open di Revolution Analytics.

EDIT: Anaconda Python ora viene fornito con l'ottimizzazione MKL, oltre al supporto per una serie di altre ottimizzazioni delle librerie Intel tramite la distribuzione Intel Python. Tuttavia, il supporto GPU per Anaconda nella libreria Accelerate (precedentemente nota come NumbaPro) è ancora superiore a $ 10k USD! Le migliori alternative per questo sono probabilmente PyCUDA e scikit-cuda, dal momento che Copperhead (essenzialmente una versione gratuita di Anaconda Accelerate) ha purtroppo cessato lo sviluppo cinque anni fa. Può essere trovato qui se qualcuno vuole riprendere da dove aveva interrotto.


L'unico problema con icl.cs.utk.edu/lapack-for-windows/lapack è che è confuso. Qualcuno ha suggerimenti su cosa fare con esso?
gseattle,

1
Risposta breve: usa Anaconda
jordiburgos il

Uso Anaconda e continuo a ricevere l'errore. Ho dovuto scaricare il file whl incluso mkl e installarlo per farlo funzionare. (Vedi la risposta di Jaanus qui sotto: il numpy alla vaniglia non è abbastanza)
lancia il

1
2017 qui - L'ho fatto funzionare usando il metodo qui . Non è male dopo aver capito, ma non è così semplice come dovrebbe essere.
Jonathan Porter,

Il primo collegamento è interrotto. Penso che dovrebbe essere invece scipy.github.io/devdocs/building/windows.html .
ChickenFeet

120

Il seguente link dovrebbe risolvere tutti i problemi con Windows e SciPy ; basta scegliere il download appropriato. Sono stato in grado di installare il pacchetto senza problemi. Ogni altra soluzione che ho provato mi ha dato grossi mal di testa.

Fonte: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Comando:

 pip install [Local File Location]\[Your specific file such as scipy-0.16.0-cp27-none-win_amd64.whl]

Ciò presuppone che tu abbia già installato quanto segue:

  1. Installa Visual Studio 2015/2013 con Python Tools
    (È integrato nelle opzioni di installazione all'installazione del 2015)

  2. Installa il compilatore Visual Studio C ++ per Python
    Source: http://www.microsoft.com/en-us/download/details.aspx?id=44266
    Nome file:VCForPython27.msi

  3. Installa Python Versione scelta
    Fonte: python.org
    Nome file (ad es.):python-2.7.10.amd64.msi


9
@Nozdrum e coloro che vogliono usare quel metodo, devi semplicemente installare numpy + mkl prima di scipy per avere accesso a Blas.
Holt,

1
Inoltre, potresti voler utilizzare l'installazione SciPy dallo stesso sito indicato da @Holt. Ho dovuto usare Numpy + MKL e SciPy forniti nei file WHL per farlo funzionare.
Jesuisme,

2
Suppongo che questa soluzione funzioni solo con Python 2.7? Sembra che non ci sia un compilatore per Python 3 a partire da agosto 2016
geneorama il

2
Funziona come un fascino. Potresti voler notare che la cp27 nei nomi dei file punta alla versione di python .whl è quindi scarica cp35 se stai eseguendo python 3.5, cp27 per 2.7 ecc.
Alexander Micklewright

2
Volevo solo evidenziare ciò che ha scritto @AlexanderMicklewright. Non era ovvio per me che si cpXXriferisce alla versione XX di (C) Python. Ho appena implicitamente scelto la versione più alta cp36, anche se sto eseguendo Python 3.5.
Czechnology

98

La versione di My Python è 2.7.10, Windows 7 a 64 bit.

  1. Scarica scipy-0.18.0-cp27-cp27m-win_amd64.whldahttp://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. Aperto cmd
  3. Assicurarsi che scipy-0.18.0-cp27-cp27m-win_amd64.whlsia nella cmddirectory corrente, quindi digitare pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl.

Sarà installato correttamente.


17
Questo dovrebbe essere contrassegnato come risposta; ha funzionato ed è il modo più indolore per installarlo.
Tensigh,

Non sono sicuro di quale sia il ruolo del file scikits.vectorplot-0.1.1-cp27-none-win_amd64.whl qui. Ho appena scaricato il file scipy-0.18.0-cp27-cp27m-win_amd64.whl dal link indicato che ha installato correttamente scipy. Poi mi è stato chiesto di perdere numpy + mkl. Ho scaricato usando lo stesso link e installato usando pip install. Funziona alla grande e sono d'accordo che questa è la soluzione più semplice che ho trovato.
beeprogrammer,

5
Funziona anche con Python 3.6 e Windows 10.

Grazie! soluzione semplice e facile
Dinesh

La tua soluzione ha funzionato anche con Python 3.5 e Windows 10.
Nicola Pesavento,

30

Mi dispiace per necro, ma questo è il primo risultato di ricerca di Google. Questa è la soluzione che ha funzionato per me:

  1. Scarica numpy + mkl wheel da http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy . Usa la versione che è la stessa della tua versione di Python (controlla usando python -V). Per esempio. se il tuo pitone è 3.5.2, scarica la rotellina che mostra cp35

  2. Apri il prompt dei comandi e vai alla cartella in cui hai scaricato la ruota. Esegui il comando: pip install [nome file della ruota]

  3. Scarica la ruota SciPy da: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy (simile al passaggio precedente).

  4. Come sopra, pip install [nome file della ruota]


È del tutto corretto pubblicare risposte a domande morte. In realtà, siamo in realtà esaminiamo ogni volta che un nuovo utente fa questo.
Nissa,

2
Questo ha funzionato per me per Python 3.5 a 32 bit su Windows 8 a 64 bit, a partire dall'8 gennaio 2017
Rob Mulder

1
grazie, ha lavorato per Python 3.6 con numpy 1.13.1 + mkl, panda 0.20.3, scikit-learn 0.18.2, scipy 0.19.1
zina

1
questo ha funzionato per me su Windows 10 x64 usando Python 3.6.2
Jeff Lindborg l'

20

Questo era l'ordine in cui tutto funzionava. Il secondo punto è il più importante. Scipy ha bisogno Numpy+MKL, non solo di vaniglia Numpy.

  1. Installa Python 3.5
  2. pip install "file path"(scarica la ruota Numpy + MKL da qui http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy )
  3. pip install scipy

7
Bene, ho fatto i passaggi 1) e 2), ma nel terzo, stavo ottenendo lo stesso errore. Quindi, dopo i passaggi 1) e 2) ho dovuto scaricare manualmente il pacchetto Scipy.whl da qui: lfd.uci.edu/~gohlke/pythonlibs/#scipy e installare pip "percorso scaricato scipy". Ora funziona alla grande!
Geraldo Neto,

5

Se lavori con Windows e Visual Studio 2015

Immettere i seguenti comandi

  • "conda install numpy"
  • "conda install panda"
  • "conda install scipy"


2

Installazione semplice e veloce di Scipy in Windows

  1. Da http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipyscaricare il pacchetto Scipy corretto per la versione di Python (ad es. Il pacchetto corretto per python 3.5 e Windows x64 è scipy-0.19.1-cp35-cp35m-win_amd64.whl).
  2. Apri cmdall'interno della directory contenente il pacchetto Scipy scaricato.
  3. Tipo pip install <<your-scipy-package-name>>(es. Pip install scipy-0.19.1-cp35-cp35m-win_amd64.whl).

5
Ho ottenuto "scipy-0.19.1-cp36-cp36m-win_amd64.whl non è una ruota supportata su questa piattaforma." quando lo fa.
Demented Hedgehog,


1

Intel ora fornisce una distribuzione Python per Linux / Windows / OS X gratuitamente chiamata " Distribuzione Intel per Python ".

È una distribuzione Python completa (ad esempio python.exe è inclusa nel pacchetto) che include alcuni moduli preinstallati compilati contro la MKL (Math Kernel Library) di Intel e quindi ottimizzati per prestazioni più veloci.

La distribuzione include i moduli NumPy, SciPy, scikit-learn, panda, matplotlib, Numba, tbb, pyDAAL, Jupyter e altri. Lo svantaggio è un po 'di ritardo nell'aggiornamento a versioni più recenti di Python. Ad esempio, ad oggi (1 maggio 2017) la distribuzione fornisce CPython 3.5 mentre la versione 3.6 è già in uscita. Ma se non hai bisogno delle nuove funzionalità, dovrebbero andare perfettamente bene.


Sai se le librerie BLAS utilizzate sono "dinamiche"? Sto usando theano e se le librerie sono "statiche", compaiono molti problemi.
Daniel Möller,

@Daniel cosa intendi per librerie statiche? Python è un linguaggio interpretato. Come stai usando le librerie collegate staticamente? Ma non sono esperto in questo campo. Quindi forse mi manca qualcosa
raffaem il

O non lo capisco abbastanza bene. Ma questo è un vero problema per l'utilizzo di theano. È necessario che le librerie BLAS siano dinamiche (forse collegate dinamicamente a numpy invece che staticamente collegate a numpy?) - Pyton utilizza una serie di librerie compilate, ecco perché può funzionare così velocemente sebbene interpretato.
Daniel Möller,

1

Inoltre stavo ottenendo lo stesso errore durante l'installazione di scikit-fuzzy. Ho risolto l'errore come segue:

  1. Installa Numpy , un file whl
  2. Installa Scipy , di nuovo un file whl

scegli il file in base alla versione di python come amd64 per python3 e altri file win32 per python27

  1. poi pip install --user skfuzzy

Spero che funzionerà per te



0

L'uso delle risorse su http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy risolverà il problema. Tuttavia, è necessario prestare attenzione alla compatibilità delle versioni. Dopo aver provato più volte, finalmente ho deciso di disinstallare Python e quindi ho installato una nuova versione di Python insieme a Numpy e quindi installato Scipy e questo ha risolto il mio problema.


I collegamenti a risorse esterne sono incoraggiati, ma per favore aggiungi un contesto attorno al collegamento in modo che i tuoi colleghi utenti abbiano qualche idea di cosa sia e perché sia ​​lì. Cita sempre la parte più rilevante di un link importante, nel caso in cui il sito di destinazione sia irraggiungibile o rimanga permanentemente offline.
pableiros,


0

fai questo, ha risolto per me pip install -U scikit-learn

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.