Non è possibile installare Scipy tramite pip


119

Quando si installa scipy tramite pip con:

pip install scipy

Pip non riesce a creare scipy e genera il seguente errore:

Cleaning up...
Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy
Storing debug log for failure in /Users/administrator/.pip/pip.log

Come posso fare in modo che scipy crei con successo? Questo potrebbe essere un nuovo problema con OSX Yosemite poiché ho appena aggiornato e non ho avuto problemi con l'installazione di scipy prima.


Registro di debug:

Cleaning up...
  Removing temporary dir /Users/administrator/dev/KaggleAux/env/build...
Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy
Exception information:
Traceback (most recent call last):
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/req.py", line 706, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy

Prova a usare "sudo pip install scipy"
Piotr Dabkowski

@PiotrDabkowski Ho installato python tramite homebrew quindi non dovrei aver bisogno di usare sudo. Inoltre, perché sudo dovrebbe aiutare nella fase di costruzione? Posso vedere usarlo se ha gettato il permesso negato o qualcosa del genere.
agconti

Sei sicuro che l'errore non sia causato da qualche problema di autorizzazione?
Piotr Dabkowski

Gli utenti Windows possono vedere la mia risposta qui
Statham

Per i Centos assicurati di avere lapack-devel, altrimenti yum installa lapack-devel
Divyank Shukla

Risposte:


106

Dopo aver aperto un problema con il team di SciPy, abbiamo scoperto che è necessario aggiornare pip con:

pip install --upgrade pip

E in Python 3questo funziona:

python3 -m pip install --upgrade pip

affinché SciPy si installi correttamente. Perché? Perché:

Le versioni precedenti di pip devono essere avvisate di usare le ruote, IIRC con --use-wheel. Oppure puoi aggiornare pip stesso, quindi dovrebbe raccogliere le ruote.

L'aggiornamento di pip risolve il problema, ma potresti essere in grado di usare anche il --use-wheelflag.


11
Questo ha funzionato per me - ma ho anche dovuto installare i pacchetti suggeriti da Lukesudo apt-get install libatlas-base-dev gfortran
BenB

Ho dovuto rimuovere la vecchia versione di pip prima dell'aggiornamento. Poi ha funzionato perfettamente.
Autonoma

1
Inoltre, sulla mia installazione 14.04 perfettamente fresca, ho dovuto anchesudo apt-get install python-dev
BenB

90

Gli utenti Microsoft Windows di installazioni Python a 64 bit dovranno scaricare il 64 bit .whldi Scipy da qui , quindi semplicemente cdnella cartella in cui hai scaricato il .whlfile ed eseguire:

pip install scipy-0.16.1-cp27-none-win_amd64.whl

28
scipy-0.16.1-cp27-none-win_amd64.whl is not a supported wheel on this platform.
Orologiaio

15
@gugol Forse l'hai già provato ma devi assicurarti che i numeri dopo cp corrispondano alla tua versione di python (es. cp34 = 3.4) e che amd64 / win32 sia corretto.
fdsa

4
D:\TEMP>pip install "scipy-0.19.1-cp35-cp35m-win_amd64.whl" Requirement 'scipy\u20110.19.1\u2011cp35\u2011cp35m\u2011win_amd64.whl' looks li ke a filename, but the file does not exist scipy\u20110.19.1\u2011cp35\u2011cp35m\u2011win_amd64.whl is not a valid wheel f ilename. D:\TEMP>pip install "test.whl" test.whl is not a valid wheel filename. D:\TEMP>pip install test.whl test.whl is not a valid wheel filename.Accedo alla directory, provo a eseguirlo, quindi ottengo un errore. Quindi cambio il nome del file provando a eseguirlo ottengo un altro errore. Il metodo non funziona ...
user32882

Sto riscontrando lo stesso problema di @ user32882. Cos'è che stiamo facendo di sbagliato?
gen

@gugol ho avuto lo stesso problema, la nota di @ Cyclotron3x3 mi ha aiutato; il -cp27nel nome del file si riferisce alla versione di Python, ho dovuto trovare il file con -cp36nel nome del file per abbinare con la mia versione di Python: 3.6.
Benson

59

Devo affrontare lo stesso problema quando installo Scipy su Ubuntu.
Ho dovuto usare il comando:

$ sudo apt-get install libatlas-base-dev gfortran
$ sudo pip3 install scipy

Puoi ottenere maggiori dettagli qui Installare SciPy con pip
Spiacente, non so come farlo su OS X Yosemite.


Questo ha risolto il problema che avevo usando "Bash su Ubuntu su Windows 10".
Coxy

41

In Windows 10, la maggior parte delle opzioni non funzionerà. Segui questi passi:

In Windows 10 con CMD, non puoi scaricare scipydirettamente utilizzando la maggior parte dei comandi ben noti come wget, cloning scipy github, pip install scipy, ecc

Per installare, vai ai file .whl di pythonlibs e, se stai usando, python 2.7 32 bitscarica numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl and scipy-0.18.1-cp27-cp27m-win32.whlo se python 2.7 62 bitpoi scaricanumpy-1.11.2rc1+mkl-cp27-cp27m-win_amd64.whl and scipy-0.18.1-cp27-cp27m-win_amd64.whl

Dopo il download, salva i file sotto il tuo python directory, nel mio caso lo erac:\>python27

Quindi esegui:

pip install C:\Python27\numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl 
pip install C:\Python27\scipy-0.18.1-cp27-cp27m-win32.whl

Nota:

  1. scipy esigenze numpy di dipendenza, quindi è per questo che stiamo scaricando numpyprimascipy .
  2. cp27nei file .whl significa che questi file sono destinati python 2.7e cp33sta per python 3.xspeciaficamente> = 3.3

Ha funzionato a meraviglia! :) Ho provato tutte le altre soluzioni ma non è riuscito (Windows 10, Python 2.7 a 32 bit)
U. Muneeb

Questo ha funzionato per me su Win 10 con Python 3.5 e macchina 64b pip install NumPy-1.13.1 + mkl-CP35-cp35m-win_amd64.whl pip install NumPy-1.13.1 + mkl-CP35-cp35m-win_amd64.whl
vlad

Questa risposta ha risolto il problema nel mio caso (Windows 8.1), ma avevo anche bisogno di scaricare e installare numpy + mkl wheel. Fallo se ricevi un ImportError "NUMPY_MKL" quando provi a importare scipy dopo aver seguito questa risposta. Crediti a @VMAtm .
Renato Byrro

Per Python 3.6.2 su Windows 10 usascipy-0.19.1-cp36-cp36m-win_amd64.whl
Dmitry

Grazie!, Per usare imread mi è stato necessario installare anche Pillow --pip install Pillow
illimitato

13

Dopo aver trovato questa risposta per alcuni indizi, ho ottenuto questo lavoro facendo

brew install gcc 
pip install scipy

(Il primo di questi passaggi ha richiesto 96 minuti sul mio Mac Book Air 2011, quindi spero che tu non abbia fretta!)


In realtà non ero in grado di farlo brew install gcc. Ha finito per generare una serie di errori. Ma dopo aver lavorato con i ragazzi di Scipy; Ho trovato una soluzione. Grazie per la tua risposta!
agconti

Questa in realtà si è rivelata la soluzione diretta per me. Finisci per non costruire e installare il kit scipy scaricato. :)
Sean

Questo ha funzionato per me, e ci sono voluti solo pochi secondi per il primo passo
André Fratelli

9

Se sei totalmente nuovo in Python, leggi passo dopo passo o vai direttamente all'ultimo passaggio. Segui il metodo seguente per installare scipy 0.18.1 su Windows a 64 bit, Python a 64 bit. Se il comando seguente non funziona, procedere ulteriormente

pip install scipy

Fai attenzione alle versioni di

  1. Pitone

  2. finestre

  3. .whl versione dei file numpy e scipy

  4. Innanzitutto installa numpy e scipy.

    pip install FileName.whl
  5. Per Numpy: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy Per Scipy: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Fai attenzione al nome del file (controlla il numero di versione).

Es: scipy-0.18.1-cp35-cp35m-win_amd64.whl

Per verificare quale versione è supportata dal tuo pip, vai al punto 2 di seguito.

Se stai usando il file .whl. È probabile che si verifichino i seguenti errori.

  1. Stai utilizzando pip versione 7.1.0, tuttavia è disponibile la versione 8.1.2.

Dovresti considerare l'aggiornamento tramite il comando "python -m pip install --upgrade pip"

  1. scipy-0.15.1-cp33-none-win_amd64.whl.whl non è supportato su questa piattaforma

Per l'errore precedente: avvia Python e digita:

import pip
print(pip.pep425tags.get_supported())

Produzione:

[('cp35', 'cp35m', 'win_amd64'), ('cp35', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'), ('cp35', 'none ',' any '), (' cp3 ',' none ',' any '), (' py35 ',' none ',' any '), (' py3 ',' none ',' any '), ( 'py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]

Nell'output vedrai che cp35 è presente, quindi scarica cp35 per numpy e scipy. Ulteriori modifiche sono benvenute.



6

Piuttosto che percorrere la strada più difficile del download di pacchetti specifici. Preferisco seguire il percorso più veloce di usare Conda. pip ha i suoi problemi.

  • Python -v (3.6.0)
  • Windows 10 (64 bit)

Conda, installa conda da: https://conda.io/docs/install/quick.html#windows-miniconda-install

prompt dei comandi

C:\Users\xyz>conda install -c anaconda scipy=0.18.1
Fetching package metadata .............
Solving package specifications:

Piano del pacchetto per l'installazione nell'ambiente C: \ Users \ xyz \ Miniconda3:

I seguenti NUOVI pacchetti verranno INSTALLATI:

mkl:       2017.0.1-0         anaconda
numpy:     1.12.0-py36_0      anaconda
scipy:     0.18.1-np112py36_1 anaconda

I seguenti pacchetti saranno SUPERATI da un canale con priorità più alta:

conda:     4.3.11-py36_0               --> 4.3.11-py36_0 anaconda
conda-env: 2.6.0-0                     --> 2.6.0-0       anaconda

Procedere ([y] / n)? y

conda-env-2.6. 100% |###############################| Time: 0:00:00  32.92 kB/s
mkl-2017.0.1-0 100% |###############################| Time: 0:00:24   5.45 MB/s
numpy-1.12.0-p 100% |###############################| Time: 0:00:00   5.09 MB/s
scipy-0.18.1-n 100% |###############################| Time: 0:00:02   5.59 MB/s
conda-4.3.11-p 100% |###############################| Time: 0:00:00   4.70 MB/s


4

Questa è un'alternativa a pip . Ho anche avuto lo stesso errore durante l'installazione di scipy con pip.

Poi ho scaricato e installato MiniConda . E poi ho usato il comando seguente per installare pytables.

conda install -c conda-forge scipy

Si prega di fare riferimento allo screenshot qui sotto.

inserisci qui la descrizione dell'immagine


3

il metodo migliore che potrei suggerire è questo

  1. Scarica il file della ruota da questa posizione per la tua versione di python

  2. Sposta il file nell'unità principale, ad esempio C:>

  3. Esegui Cmd e inserisci quanto segue

    • pip installa scipy-1.0.0rc1-cp36-none-win_amd64.whl

Si prega di notare che questa è la versione che sto usando per il mio pyhton 3.6.2 e dovrebbe essere installato correttamente

potresti voler eseguire questo comando dopo per assicurarti che tutti i tuoi componenti aggiuntivi Python siano aggiornati

pip list --outdated

1

In alternativa, scarica ed esegui manualmente http://www.lfd.uci.edu/~gohlke/pythonlibs la versione di Scipy adatta a te. Considera la tua versione di Python (python --version) e la tua architettura di sistema (32/64 bit) . Scegli la versione di Scipy di conseguenza. scipy-0.18.1- cp27 -cp27m- win32 - per Python 2.7 32 bit scipy-0.18.1- cp27 -cp27m- win_amd64 - per Python 2.7 64 bit Altrimenti l'errore scipy-0.15.1-cp33-none-win_amd64.whl .whl non è supportato, la ruota su questa piattaforma apparirà all'installazione.

Ora cambia la directory nel file scaricato ed esegui il comando pip install scipy-0.15.1-cp33-none-win_amd64.whl.whl (cambia il nome del file in modo appropriato)

Ho aggiunto questa risposta solo perché la risposta di Arun (trovata utile da me) non ha menzionato nulla sulla corrispondenza a 32/64 bit che ho affrontato.


0

Se stai usando CentOS devi installare lapack-devel in questo modo:

 $ yum install lapack-devel



0

Stavo avendo lo stesso problema e ero riuscito a usare sudo.

$ sudo pip install scipy

0

Il modo più semplice è nei seguenti passaggi: Correzione di scipy per python [2.n <python <3.n]

Scarica i file necessari da: http://www.lfd.uci.edu/~gohlke/pythonlibs/

Scarica la versione di numpy + mkl (necessaria per eseguire scipy) e quindi scarica scipy per il tuo tipo di python (2.n python scritto come 2n) o (3.n python scritto come 3n), n è una variabile. Nota che devi sapere se hai un processore a 32 bit o 64 bit.

Crea una directory da qualche parte sul tuo computer, ad esempio [C: \ DIRECTORY] per installare i file numpy + mkd.whl e scipy.whl

Una volta scaricati entrambi i file, trova la posizione del file sul tuo computer e spostalo nella directory che hai creato.

Esempio: è necessaria la prima installazione di file per scipy

C: \ Directory \ NumPy \ NumPy-0.0.0 + mkl-cp2n-cp2nm-win_amd32.whl

Esempio: l'installazione del secondo file è in

C: \ Directory \ SciPy \ SciPy-0.0.0-cp2n-cp2nm-win_amd32.whl

Vai al prompt dei comandi e procedi con il seguente esempio per una versione 2.n di python:

py -2.n -m pip install C:\DIRECTORY\numpy\numpy-0.0.0+mkl-cp2n-cp2nm-win_amd32.whl

dovrebbe installare

py -2.n -m pip install C:\DIRECTORY\scipy\scipy-0.0.0-cp2n-cp2nm-win_amd32.whl

dovrebbe installare

Prova entrambi i moduli sul tuo IDLE python come segue:

import numpy

import scipy

i moduli funzionano se non vengono restituiti errori.

IFDAAS


Questa risposta è specifica per Windows, poiché l'interrogante è su OS X Yosemite?
Ari Cooper-Davis

0

Per Windows (7 nel mio caso):

  1. scarica scipy-0.19.1-cp36-cp36m-win32.whl da http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. crea un file some.bat con contenuto

    @echo off C:\Python36\python.exe -m pip -V C:\Python36\python.exe -m pip install scipy-0.19.1-cp36-cp36m-win32.whl C:\Python36\python.exe -m pip list pause

  3. quindi esegui questo file batch some.bat

  4. chiama la shell python "C: \ Python36 \ pythonw.exe" C: \ Python36 \ Lib \ idlelib \ idle.pyw "e verifica se scipy è stato installato con

importa scipy


PS: ho più versioni di Phyton (2.7,3.5 e 3.6) installate sullo stesso computer sotto Windows 7
Ion Stefanache

0

Il modo più semplice per installare scipy su Windows 10 al 100% è questo: basta eseguire il pip ====> pip install scipy==1.0.0rc2

Ringraziami più tardi :)


La sintassi non è valida
user2063329

user2063329 Prova pip3
George C.


0

Puoi testare questa risposta:

python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
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.