ImportError: Không có mô-đun nào có tên là scipy


87

Tôi đang sử dụng Python 2.7 và cố gắng để PyBrain hoạt động.

Nhưng tôi gặp lỗi này ngay cả khi đã cài đặt scipy -

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

Tôi đã cài đặt scipy bằng lệnh này -

sudo apt-get install python-scipy

Tôi có -

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.

Tôi nên làm gì?


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

Traceback (cuộc gọi gần đây nhất cuối cùng): File "<string>", dòng 1, trong <module> ImportError: Không có mô-đun tên scipy và trăn của nó 2.7.5
ihmpall

có một giải pháp mà không có sudo?
Charlie Parker

Câu trả lời:


146

Cố gắng cài đặt nó dưới dạng gói python bằng pip. Bạn cho biết bạn đã thử:

sudo apt-get install python-scipy

Bây giờ chạy:

pip install scipy

Tôi đã chạy cả hai và nó hoạt động trên hộp dựa trên Debian của tôi.


Tôi không thể sudo ... có giải pháp nào khác không? Tôi không hiểu vấn đề là gì và tại sao điều đó lại giải quyết được vấn đề?
Charlie Parker

@DragonSpit Nếu bạn có python 3, thì bạn cần sử dụng các tên tương ứng: python3-scipypip3.
Alexis Wilke

19

Để đảm bảo cài đặt dễ dàng và chính xác cho pip sử dụng python ngay từ đầu

Để cài đặt 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

Để cài đặt scipy bằng pip:

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

8

Đối với người dùng windows:

Tôi đã tìm thấy giải pháp này sau nhiều ngày. Đầu tiên bạn muốn cài đặt phiên bản python nào?

Nếu bạn muốn phiên bản Python 2.7:

BƯỚC 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

Nếu bạn muốn phiên bản 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

Nếu bạn muốn phiên bản 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

Nếu bạn muốn phiên bản 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

Liên kết: [nhấp vào [1]

Sau khi hoàn tất cài đặt, hãy chuyển đến thư mục của bạn.

Ví dụ thư mục của tôi:

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

BƯỚC 2:

Numpy + MKL

Từ cùng một trang web dựa trên phiên bản python một lần nữa:

Sau đó, sử dụng lại cùng một thứ trong thư mục Script

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

Và kiểm tra nó trong thư mục 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
Cảm ơn, nó đã làm việc cho tôi. Để tiết kiệm thời gian, chúng ta có thể tìm thấy những bánh xe ở đây silx.org/pub/wheelhouse :)
Raviraj Subramanian

5

Nếu bạn cần truy cập scipyvào môi trường Pyhton của mình trên Windows, bạn có thể tải các tệp * .whl tại đây:

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

Hãy nhớ rằng bạn cần cài đặt numpy+mkltrước khi có thể cài đặt scipy.

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

Khi bạn đã tải xuống các tệp * .whl chính xác, chỉ cần mở lời nhắc cmd trong thư mục tải xuống và chạy pip install *.whl.


5

Tôi gặp sự cố tương tự vì tôi đã cài đặt cả python2.7 và python3. khi tôi chạy chương trình với python3, tôi nhận được lỗi tương tự. Tôi cài đặt scipy bằng lệnh này và sự cố đã được giải quyết:

sudo apt-get install python3-scipy

3

Tôi khuyên bạn nên xóa scipy qua

apt-get purge scipy

và sau đó cài đặt nó bằng cách

pip install scipy

Nếu bạn làm cả hai thì bạn có thể nhầm lẫn với trình quản lý gói deb do các phiên bản có thể khác nhau.


3

Hãy thử cài đặt nó dưới dạng gói python bằng cách sử dụng pip như sau

$ sudo apt-get install python-scipy

Nếu bạn muốn chạy tập lệnh python 3.x, hãy cài đặt scipy bằng cách:

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


3

nếu bạn đang sử dụng pycharm, hãy chuyển đến cài đặt và trong tab phụ của trình thông dịch dự án, nhấp vào dấu "+" bên cạnh danh sách và trong thanh tìm kiếm trong đó tìm kiếm tên "scipy" và cài đặt gói.

scipy


1

Python của bạn không biết bạn đã cài đặt scipy ở đâu. thêm đường dẫn scipy vào PYTHONPATHvà tôi hy vọng nó sẽ giải quyết được vấn đề của bạn.


Hi.Thanks một tấn nhưng bạn có thể cho tôi lệnh để làm điều đó Linux newbie,?
ihmpall

Nếu bạn đang sử dụng bash, trong file hồ sơ bash, bạn có thể thêm dòng nàyexport PYTHONPATH="/path/to/scipy:$PYTHONPATH"
RealityPC

1

Vấn đề của tôi là tôi đã đánh vần sai một trong các thư viện khi cài đặt bằng pip3, điều này khiến tất cả các thư viện tải xuống khác trong cùng một lệnh không được cài đặt. Chỉ cần chạy lại cài đặt pip3 trên chúng và chúng sẽ được cài đặt từ bộ nhớ cache của chúng.


1

Điều này có thể quá cơ bản (và có thể giả định), nhưng -

Người dùng Fedora có thể sử dụng:

sudo dnf install python-scipy

và sau đó (Đối với python3.x):

pip3 install scipy

hoặc (Đối với python2.7):

pip2 install scipy

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.