ImportError: nessun modulo denominato scipy


90

Sto usando Python 2.7 e sto cercando di far funzionare PyBrain.

Ma ottengo questo errore anche se scipy è installato -

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/PyBrain-0.3.1-
py2.7.egg/pybrain/__init__.py", line 1, in <module>
    from pybrain.structure.__init__ import *
  File "/usr/local/lib/python2.7/site-packages/PyBrain-0.3.1-py2.7.egg/pybrain/structure/__init__.py", line 1, in <module>
    from pybrain.structure.connections.__init__ import *
  File "/usr/local/lib/python2.7/site-packages/PyBrain-0.3.1-py2.7.egg/pybrain/structure/connections/__init__.py", line 1, in <module>
    from pybrain.structure.connections.full import FullConnection
  File "/usr/local/lib/python2.7/site-packages/PyBrain-0.3.1-py2.7.egg/pybrain/structure/connections/full.py", line 3, in <module>
    from scipy import reshape, dot, outer
ImportError: No module named scipy

Ho installato scipy usando questo comando -

sudo apt-get install python-scipy

Ottengo -

Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-scipy is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Cosa dovrei fare?


python -c 'import scipy; print(scipy)'? which python? python -c 'import sys; print(sys.path)?
Fred Foo

Traceback (ultima chiamata più recente): File "<string>", riga 1, in <module> ImportError: Nessun modulo chiamato scipy e il suo python 2.7.5
ihmpall

c'è una soluzione senza sudo?
Charlie Parker

Risposte:


149

Prova a installarlo come pacchetto Python usando pip. Hai detto di aver già provato:

sudo apt-get install python-scipy

Adesso corri:

pip install scipy

Ho eseguito entrambi e ha funzionato sulla mia macchina basata su Debian.


Non riesco a fare sudo ... c'è un'altra soluzione? Non capisco qual era il problema e perché ha risolto il problema?
Charlie Parker

@DragonSpit Se hai python 3, devi usare i nomi corrispondenti: python3-scipye pip3.
Alexis Wilke

20

Per garantire un'installazione facile e corretta per Python, usa pip fin dall'inizio

Per installare pip:

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python2 get-pip.py   # for python 2.7
$ sudo python3 get-pip.py   # for python 3.x

Per installare scipy usando pip:

$ pip2 install scipy    # for python 2.7
$ pip3 install scipy    # for python 3.x

8

Per utenti Windows:

Ho trovato questa soluzione dopo giorni. Innanzitutto quale versione di Python vuoi installare?

Se vuoi per la versione Python 2.7:

PASSO 1:

scipy ‑ 0.19.0 ‑ cp27 ‑ cp27m ‑ win32.whl

scipy ‑ 0.19.0 ‑ cp27 ‑ cp27m ‑ win_amd64.whl

numpy ‑ 1.11.3 + mkl ‑ cp27 ‑ cp27m ‑ win32.whl

numpy ‑ 1.11.3 + mkl ‑ cp27 ‑ cp27m ‑ win_amd64.whl

Se vuoi per la versione 3.4 di Python:

scipy ‑ 0.19.0 ‑ cp34 ‑ cp34m ‑ win32.whl

scipy ‑ 0.19.0 ‑ cp34 ‑ cp34m ‑ win_amd64.whl

numpy ‑ 1.11.3 + mkl ‑ cp34 ‑ cp34m ‑ win32.whl

numpy ‑ 1.11.3 + mkl ‑ cp34 ‑ cp34m ‑ win_amd64.whl

Se vuoi per la versione Python 3.5:

scipy ‑ 0.19.0 ‑ cp35 ‑ cp35m ‑ win32.whl

scipy ‑ 0.19.0 ‑ cp35 ‑ cp35m ‑ win_amd64.whl

numpy ‑ 1.11.3 + mkl ‑ cp35 ‑ cp35m ‑ win32.whl

numpy ‑ 1.11.3 + mkl ‑ cp35 ‑ cp35m ‑ win_amd64.whl

Se vuoi per la versione Python 3.6:

scipy ‑ 0.19.0 ‑ cp36 ‑ cp36m ‑ win32.whl

scipy ‑ 0.19.0 ‑ cp36 ‑ cp36m ‑ win_amd64.whl

numpy ‑ 1.11.3 + mkl ‑ cp36 ‑ cp36m ‑ win32.whl

numpy ‑ 1.11.3 + mkl ‑ cp36 ‑ cp36m ‑ win_amd64.whl

Link: [clic [1]

Al termine dell'installazione, vai alla tua directory.

Ad esempio la mia directory:

cd C:\Users\asus\AppData\Local\Programs\Python\Python35\Scripts>
pip install [where/is/your/downloaded/scipy_whl.]

PASSO 2:

Numpy + MKL

Di nuovo dallo stesso sito web basato sulla versione python:

Dopodiché usa di nuovo la stessa cosa nella cartella Script

cd C:\Users\asus\AppData\Local\Programs\Python\Python35\Scripts>
pip3 install [where/is/your/downloaded/numpy_whl.]

E provalo nella cartella Python.

Python35>python 
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. 
>>>import scipy

2
Grazie, ha funzionato per me. Per risparmiare un po 'di tempo, possiamo trovare queste ruote qui silx.org/pub/wheelhouse :)
Raviraj Subramanian


5

Ho avuto lo stesso problema perché ho installato sia python2.7 che python3. quando eseguo il programma con python3 ho ricevuto lo stesso errore. Ho installato scipy con questo comando e il problema è stato risolto:

sudo apt-get install python3-scipy

3

Ti consiglio di rimuovere scipy tramite

apt-get purge scipy

e poi per installarlo da

pip install scipy

Se si fanno entrambe le cose, si potrebbe confondere il gestore pacchetti deb a causa delle possibili versioni differenti.


3

Prova a installarlo come pacchetto Python usando pip come segue

$ sudo apt-get install python-scipy

Se vuoi eseguire uno script python 3.x, installa scipy:

$ pip3 install scipy
Otherwise install it by:
$ pip install scipy


3

se stai usando pycharm vai alle impostazioni e nella sottoscheda dell'interprete del progetto fai clic sul segno "+" accanto all'elenco e nella barra di ricerca cerca il nome "scipy" e installa il pacchetto.

scipy


1

Il tuo python non sa dove hai installato scipy. aggiungi il percorso scipy a PYTHONPATHe spero che risolverà il tuo problema.


Ciao, grazie mille ma puoi darmi il comando per farlo?
Principiante

1
Se stai usando bash, nel tuo file di profilo bash, puoi aggiungere questa rigaexport PYTHONPATH="/path/to/scipy:$PYTHONPATH"
RealityPC

1

Il mio problema era che ho scritto male una delle librerie durante l'installazione con pip3, che ha finito per non installare tutte le altre librerie scaricate nello stesso comando. Esegui di nuovo pip3 install su di essi e dovrebbero essere installati dalla loro cache.


1

Questo potrebbe essere troppo semplice (e forse ipotizzabile), ma -

Gli utenti Fedora possono usare:

sudo dnf install python-scipy

e poi (per python3.x):

pip3 install scipy

o (Per python2.7):

pip2 install scipy


0

Utilizzare sudo pip install scipyper installare la libreria in modo che non possa chiedere autorizzazioni in seguito

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.