ImportError: Żaden moduł o nazwie scipy

87

Używam Pythona 2.7 i próbuję zmusić PyBrain do pracy.

Ale pojawia się ten błąd, mimo że scipy jest zainstalowany -

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

Zainstalowałem scipy za pomocą tego polecenia -

sudo apt-get install python-scipy

Dostaję -

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.

Co powinienem zrobić?

ihmpall
źródło
python -c 'import scipy; print(scipy)'? which python? python -c 'import sys; print(sys.path)?
Fred Foo,
Traceback (ostatnie wywołanie ostatnie): Plik „<string>”, wiersz 1, w <module> ImportError: Brak modułu o nazwie scipy i jego python 2.7.5
ihmpall
czy jest rozwiązanie bez sudo?
Charlie Parker

Odpowiedzi:

146

Spróbuj zainstalować go jako pakiet Pythona za pomocą pip. Powiedziałeś, że już próbowałeś:

sudo apt-get install python-scipy

Teraz biegnij:

pip install scipy

Uruchomiłem oba i działało na moim komputerze opartym na Debianie.

BostonGeorge
źródło
Nie mogę sudo ... czy jest inne rozwiązanie? Nie rozumiem, na czym polegał problem i dlaczego to rozwiązało problem?
Charlie Parker
@DragonSpit Jeśli masz Pythona 3, musisz użyć odpowiednich nazw: python3-scipyi pip3.
Alexis Wilke
19

Aby zapewnić łatwą i poprawną instalację dla Pythona, użyj pip od samego początku

Aby zainstalować 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

Aby zainstalować scipy za pomocą pip:

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

źródło
8

Dla użytkowników systemu Windows:

Znalazłem to rozwiązanie po kilku dniach. Po pierwsze, którą wersję Pythona chcesz zainstalować?

Jeśli chcesz dla wersji Python 2.7:

KROK 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

Jeśli chcesz dla wersji Python 3.4:

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

Jeśli chcesz dla wersji 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

Jeśli chcesz dla wersji 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: [kliknij [1]

Po zakończeniu instalacji przejdź do swojego katalogu.

Na przykład mój katalog:

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

KROK 2:

Numpy + MKL

Z tej samej strony internetowej opartej na wersji Pythona:

Następnie użyj tego samego ponownie w folderze Script

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

I przetestuj to w folderze Pythona.

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
Beyhan Gül
źródło
2
Dzięki, zadziałało dla mnie. Żeby zaoszczędzić trochę czasu, możemy znaleźć te koła tutaj silx.org/pub/wheelhouse :)
Raviraj Subramanian
5

Miałem ten sam problem, ponieważ zainstalowałem zarówno python2.7, jak i python3. kiedy uruchamiam program z pythonem3 otrzymałem ten sam błąd. Instaluję scipy za pomocą tego polecenia i problem został rozwiązany:

sudo apt-get install python3-scipy
Karim Pazoki
źródło
3

Polecam usunąć scipy za pośrednictwem

apt-get purge scipy

a następnie zainstalować przez

pip install scipy

Jeśli zrobisz oba, możesz zmylić menedżera pakietów deb z powodu prawdopodobnie różnych wersji.

thomas.mc.work
źródło
3

Spróbuj zainstalować go jako pakiet Pythona za pomocą pip w następujący sposób

$ sudo apt-get install python-scipy

Jeśli chcesz uruchomić skrypt Pythona 3.x, zainstaluj scipy przez:

$ pip3 install scipy
Otherwise install it by:
$ pip install scipy
yahani manawadu
źródło
3

Dla użytkownika Windows: pip install -U scipy

Shrinath Joshi
źródło
3

jeśli używasz pycharm, przejdź do ustawień iw zakładce interpreter projektu kliknij znak "+" obok listy, aw pasku wyszukiwania wpisz nazwę "scipy" i zainstaluj pakiet.

scipy

MMRA
źródło
1

Twój Python nie wie, gdzie zainstalowałeś scipy. dodaj scipy ścieżkę do PYTHONPATHi mam nadzieję, że rozwiąże twój problem.

RealityPC
źródło
Cześć, dziękuję za tonę, ale czy możesz mi dać polecenie, aby to zrobić? Linux nowicjusz,
ihmpall
Jeśli używasz basha, w swoim pliku profilu bash możesz dodać tę linięexport PYTHONPATH="/path/to/scipy:$PYTHONPATH"
RealityPC,
1

Mój problem polegał na tym, że podczas instalacji za pomocą pip3 błędnie napisałem jedną z bibliotek, co spowodowało, że wszystkie inne pobrane biblioteki w tym samym poleceniu nie zostały zainstalowane. Po prostu uruchom na nich pip3 install i powinny zostać zainstalowane z pamięci podręcznej.

Akash Agarwal
źródło
1

Może to być zbyt proste (i możliwe do założenia), ale -

Użytkownicy Fedory mogą używać:

sudo dnf install python-scipy

a następnie (dla python3.x):

pip3 install scipy

lub (dla python2.7):

pip2 install scipy

R4444
źródło