ImportError: ไม่มีโมดูลชื่อ scipy


90

ฉันใช้ Python 2.7 และพยายามทำให้ PyBrain ทำงาน

แต่ฉันได้รับข้อผิดพลาดนี้แม้ว่าจะติดตั้ง 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

ฉันได้ติดตั้ง scipy โดยใช้คำสั่งนี้ -

sudo apt-get install python-scipy

ฉันเข้าใจ -

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.

ฉันควรทำอย่างไรดี?


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

Traceback (โทรล่าสุดล่าสุด): ไฟล์ "<string>" บรรทัดที่ 1 ใน <module> ImportError: ไม่มีโมดูลที่ชื่อ scipy และ python 2.7.5
ihmpall

มีวิธีแก้ไขโดยไม่ใช้ sudo หรือไม่?
Charlie Parker

คำตอบ:


149

ลองติดตั้งเป็นแพ็คเกจ python โดยใช้ pip คุณบอกว่าคุณได้ลองแล้ว:

sudo apt-get install python-scipy

ตอนนี้เรียกใช้:

pip install scipy

ฉันวิ่งทั้งสองอย่างและใช้งานได้กับกล่องที่ใช้ Debian ของฉัน


ฉันไม่สามารถ sudo ... มีวิธีแก้ไขอื่นหรือไม่? ฉันไม่เข้าใจว่าปัญหาคืออะไรและเหตุใดจึงแก้ปัญหาได้
Charlie Parker

@DragonSpit หากคุณมี python 3 คุณต้องใช้ชื่อที่เกี่ยวข้อง: python3-scipyและpip3.
Alexis Wilke

20

เพื่อให้แน่ใจว่าการติดตั้ง python ทำได้ง่ายและถูกต้องให้ใช้ pip from the get go

ในการติดตั้ง 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

ในการติดตั้ง scipy โดยใช้ pip:

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

8

สำหรับผู้ใช้ windows:

ฉันพบวิธีแก้ปัญหานี้หลังจากผ่านไปหลายวัน ประการแรก python เวอร์ชันใดที่คุณต้องการติดตั้ง?

หากคุณต้องการสำหรับ Python 2.7 เวอร์ชัน:

ขั้นตอนที่ 1:

scipy ‑ 0.19.0 ‑ cp27 ‑ cp27m ‑ win32.whl

scipy ‑ 0.19.0 ‑ cp27 ‑ cp27m ‑ win_amd64.whl

จำนวน ‑ 1.11.3 + mkl ‑ cp27 ‑ cp27m ‑ win32.whl

จำนวน ‑ 1.11.3 + mkl ‑ cp27 ‑ cp27m ‑ win_amd64.whl

หากคุณต้องการสำหรับ Python 3.4 เวอร์ชัน:

scipy ‑ 0.19.0 ‑ cp34 ‑ cp34m ‑ win32.whl

scipy ‑ 0.19.0 ‑ cp34 ‑ cp34m ‑ win_amd64.whl

จำนวน ‑ 1.11.3 + mkl ‑ cp34 ‑ cp34m ‑ win32.whl

จำนวน ‑ 1.11.3 + mkl ‑ cp34 ‑ cp34m ‑ win_amd64.whl

หากคุณต้องการสำหรับเวอร์ชัน Python 3.5:

scipy ‑ 0.19.0 ‑ cp35 ‑ cp35m ‑ win32.whl

scipy ‑ 0.19.0 ‑ cp35 ‑ cp35m ‑ win_amd64.whl

จำนวน ‑ 1.11.3 + mkl ‑ cp35 ‑ cp35m ‑ win32.whl

จำนวน ‑ 1.11.3 + mkl ‑ cp35 ‑ cp35m ‑ win_amd64.whl

หากคุณต้องการสำหรับ Python 3.6 เวอร์ชัน:

scipy ‑ 0.19.0 ‑ cp36 ‑ cp36m ‑ win32.whl

scipy ‑ 0.19.0 ‑ cp36 ‑ cp36m ‑ win_amd64.whl

จำนวน ‑ 1.11.3 + mkl ‑ cp36 ‑ cp36m ‑ win32.whl

จำนวน ‑ 1.11.3 + mkl ‑ cp36 ‑ cp36m ‑ win_amd64.whl

ลิงก์: [คลิก [1]

เมื่อติดตั้งเสร็จแล้วให้ไปที่ไดเร็กทอรีของคุณ

ตัวอย่างเช่นไดเรกทอรีของฉัน:

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

ขั้นตอนที่ 2:

Numpy + MKL

จากเว็บไซต์เดียวกันตามเวอร์ชัน python อีกครั้ง:

หลังจากนั้นใช้สิ่งเดียวกันอีกครั้งในโฟลเดอร์สคริปต์

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

และทดสอบในโฟลเดอร์ 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
ขอบคุณมันได้ผลสำหรับฉัน เพื่อประหยัดเวลาเราสามารถค้นหาล้อเหล่านี้ได้ที่นี่silx.org/pub/wheelhouse :)
Raviraj Subramanian

5

หากคุณต้องการเข้าสู่scipyสภาพแวดล้อม Pyhton บน Windows คุณสามารถรับไฟล์ * .whl ได้ที่นี่:

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

จำไว้ว่าคุณต้องติดตั้งnumpy+mklก่อนจึงจะติดตั้งscipyได้

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

เมื่อคุณได้ดาวน์โหลด * ถูกต้องไฟล์ .whl เพียงแค่เปิด cmd pip install *.whlพรอมต์ในไดเรกทอรีดาวน์โหลดและเรียกใช้


5

ฉันมีปัญหาเดียวกันเพราะฉันติดตั้งทั้ง python2.7 และ python3 เมื่อฉันรันโปรแกรมด้วย python3 ฉันได้รับข้อผิดพลาดเดียวกัน ฉันติดตั้ง scipy ด้วยคำสั่งนี้และปัญหาได้รับการแก้ไขแล้ว:

sudo apt-get install python3-scipy

3

ฉันแนะนำให้คุณลบ scipy ผ่านทาง

apt-get purge scipy

แล้วติดตั้งโดย

pip install scipy

หากคุณทำทั้งสองอย่างคุณอาจสับสนว่าคุณ deb package manager เนื่องจากอาจแตกต่างกันเวอร์ชัน


3

ลองติดตั้งเป็นแพ็คเกจ python โดยใช้ pip ดังนี้

$ sudo apt-get install python-scipy

หากคุณต้องการรันสคริปต์ python 3.x ให้ติดตั้ง scipy โดย:

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


3

หากคุณใช้ pycharm ให้ไปที่การตั้งค่าและในแท็บย่อยล่ามโครงการคลิกที่เครื่องหมาย "+" ถัดจากรายการและในแถบค้นหาในชื่อการค้นหา "scipy" และติดตั้งแพคเกจ

scipy


1

python ของคุณไม่รู้ว่าคุณติดตั้ง scipy ไว้ที่ไหน เพิ่มเส้นทาง scipy PYTHONPATHและฉันหวังว่ามันจะแก้ปัญหาของคุณได้


สวัสดีขอบคุณตัน แต่คุณช่วยให้ฉันทำเช่นนั้นได้ไหมมือใหม่ Linux
ihmpall

1
หากคุณกำลังใช้ bash ในไฟล์โปรไฟล์ bash ของคุณคุณสามารถเพิ่มบรรทัดนี้ได้export PYTHONPATH="/path/to/scipy:$PYTHONPATH"
RealityPC

1

ปัญหาของฉันคือฉันสะกดไลบรารีหนึ่งผิดเมื่อติดตั้งด้วย pip3 ซึ่งลงเอยด้วยไลบรารีที่ดาวน์โหลดอื่น ๆ ทั้งหมดในคำสั่งเดียวกันไม่ได้รับการติดตั้ง เพียงแค่เรียกใช้ pip3 ติดตั้งอีกครั้งและควรติดตั้งจากแคช


1

นี่อาจจะธรรมดาเกินไป (และอาจจะเป็นไปได้) แต่ -

ผู้ใช้ Fedora สามารถใช้:

sudo dnf install python-scipy

จากนั้น (สำหรับ python3.x):

pip3 install scipy

หรือ (สำหรับ python2.7):

pip2 install scipy


0

ใช้sudo pip install scipyเพื่อติดตั้งไลบรารีจึงไม่สามารถขอสิทธิ์ในภายหลังได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.