ImportError: ไม่มีโมดูลชื่อ matplotlib.pyplot


149

ฉันกำลังฝึก matplotlib นี่เป็นตัวอย่างแรกที่ฉันฝึก

#!/usr/bin/python

import matplotlib.pyplot as plt

radius = [1.0, 2.0, 3.0, 4.0]
area = [3.14159, 12.56636, 28.27431, 50.26544]

plt.plot(radius, area)
plt.show()

เมื่อฉันรันสคริปต์นี้ด้วยpython ./plot_test.pyจะแสดงพล็อตได้อย่างถูกต้อง อย่างไรก็ตามฉันรันด้วยตัวเอง./plot_test.pyมันจะโยนสิ่งต่อไปนี้:

Traceback (most recent call last):
File "./plot_test.py", line 3, in <module>
  import matplotlib.pyplot as plt
ImportError: No module named matplotlib.pyplot

หลามค้นหา matplotlib ในสถานที่ต่างกันหรือไม่?

สภาพแวดล้อมคือ:

Mac OS X 10.8.4 64bit
built-in python 2.7

มีการติดตั้งแบบ numpy, scipy, matplotlib ด้วย:

sudo port install py27-numpy py27-scipy py27-matplotlib \
py27-ipython +notebook py27-pandas py27-sympy py27-nose

ลองใช้ #! / usr / bin / env python แทน
Uku Loskit

1
#! / usr / bin / env python ไม่ทำงานเกิดข้อผิดพลาดเดียวกัน
NIMISHAN

คำตอบ:


48

คุณมีงูเหลือมสองตัวที่ติดตั้งไว้ในเครื่องของคุณซึ่งเป็นงูหลามมาตรฐานที่มาพร้อมกับ Mac OSX และที่สองคืองูเหลือมที่คุณติดตั้งด้วยพอร์ต (อันนี้เป็นอันที่matplotlibติดตั้งไว้ในไลบรารีของมันซึ่งมาพร้อมกับ macosx) .

/usr/bin/python

เป็นไพ ธ อนมาตรฐานของ Mac และเนื่องจากไม่มีmatplotlibคุณควรเริ่มต้นสคริปต์ของคุณด้วยอันที่ติดตั้งพอร์ตไว้เสมอ

หากpython your_script.pyทำงานให้เปลี่ยนเป็น#!:

#!/usr/bin/env python

หรือวางพา ธ แบบเต็มไปยังตัวแปลของหลามที่matplotlibติดตั้งไว้ในไลบรารี


3
คุณช่วยอธิบายเพิ่มเติมอีกหน่อยได้ไหม ฉันกำลังเผชิญกับปัญหาเดียวกัน
Akash Kandpal

1
คุณช่วยกรุณาระบุขั้นตอน นอกจากนี้ผมยังไม่ได้รับสิ่งที่คุณกำลังพยายามที่จะอธิบายเป็นฉันหันหน้าไปทางปัญหาเดียวกันใน Mac ของฉัน
Bhaskar

มันอาจเกิดขึ้นเมื่อคุณมีชื่อไฟล์ matplotlib.py ในไดเรกทอรีการทำงานของคุณ
Abhishek Parikh

4
ใน python3 การติดตั้งmatplotlibแยกโดยใช้การpython3 -m pip install matplotlibแก้ไขข้อผิดพลาด ทดสอบกับ Ubuntu 16.04
เถาวัลย์

159

pip จะทำให้ชีวิตของคุณง่ายขึ้น!

ขั้นตอนที่ 1: ติดตั้ง pip - ตรวจสอบว่าคุณมี pip อยู่แล้วเพียงแค่เขียน pip ในคอนโซล python หากคุณไม่มี pip ให้รับสคริปต์ python ที่ชื่อว่า get-pip.py ผ่านทางที่นี่: https://pip.pypa.io/en/latest/installing.htmlหรือโดยตรงที่นี่: https: //bootstrap.pypa .io / get-pip.py (คุณอาจต้องใช้บันทึกเป็น .. )

ขั้นตอนที่ 2: จดตำแหน่งที่ไฟล์ถูกบันทึกและ cd ไดเรคทอรีจากพรอมต์คำสั่ง เรียกใช้สคริปต์ get-pip.py เพื่อติดตั้ง pip คุณสามารถเขียนเป็น cmd บรรทัดนี้ภายในเครื่องหมายคำพูด: "python. \ get-pip.py"

ขั้นตอนที่ 3: ขณะนี้อยู่ในประเภท cmd: pip install matplotlib

และคุณควรจะผ่าน


13
ในคำถามมีการระบุว่าห้องสมุดได้รับการติดตั้งแล้ว
tashuhka

4
มี upvotes มากเกินไปสำหรับคำตอบนี้ตามที่เขียนไว้ในปัจจุบัน แทนการดาวน์โหลด pip เนื่องจากพวกเขา (อยู่บน MacOSX) มี MacPorts, OP sudo port install pipควรทำงาน ประการที่สองเพื่อpipให้มีประโยชน์นอกเหนือจากการตั้งค่าที่มีอยู่แล้วพวกเขาก็ควรทำเช่นsudo port install virtualenvกันสำหรับ "สภาพแวดล้อมเสมือน" ในภาษาไพ ธ อน (อาจเรียกว่าpython3-virtualenv) จากนั้นหลังจากตั้งค่าและป้อน (เปิดใช้งาน) virtualenv ใหม่ให้เรียกใช้pip install ...ภายใน virtualenv สุดท้ายสคริปต์ python ยังคงต้องถูกเรียกใช้#!/usr/bin/env pythonเพื่อให้สิ่งนี้ทำงานได้
ไมเคิล

บน ubuntu ฉันใช้ python ./get-pip.py --user และใช้งานได้สำหรับฉัน ขอบคุณ
LeleMarieC

36

หากคุณใช้ Python 2 ให้เรียกใช้

sudo apt-get install python-matplotlib

วิธีที่ดีที่สุดที่จะได้รับmatplotlibคือ:

pip install matplotlib

เพราะวิธีก่อนหน้านี้อาจให้รุ่นเก่ากับคุณ matplotlib


ขออภัยฉันไม่ได้ระบุระบบฉันกำลังใช้ Debian ระบบที่คล้ายคลึงกันจะใช้งานได้
k.biao

4
NP แต่รัฐคำถาม: The environment is: Mac OS X 10.8.4 64bit built-in python 2.7
Lanting

คุณสามารถค้นหาคำสั่งที่คล้ายคลึงกันเพื่อ 'apt-get' สำหรับ OS X ของคุณ
k.biao

บน Ubuntu คุณสามารถใช้sudo apt-get install python-matplotlibสำหรับ python3
user2023370

24

สิ่งนี้ใช้ได้กับฉันโดยได้แรงบันดาลใจจาก Sheetal Kaul

pip uninstall matplotlib
python3 -m pip install matplotlib

ฉันรู้ว่ามันติดตั้งผิดที่เมื่อใช้งานได้:

python2.7
import matplotlib

12

ตรวจสอบรุ่นแรกของหลาม

สำหรับ python2 Vesion

sudo apt-get install python-matplotlib

สำหรับ python3 เวอร์ชั่น

sudo apt-get install python3-matplotlib

หากคุณพลาดการติดตั้ง matplotlib ด้วยเวอร์ชั่นหลามคุณจะได้รับ No module error เนื่องจากไม่มีโมดูลสำหรับรุ่นนั้นออก




1

ฉันมีปัญหาคล้ายกันที่ฉันแก้ไขและนี่คือปัญหาของฉัน:

ฉันตั้งค่าทุกอย่างใน python3 แต่ฉันใช้ python เพื่อโทรหาไฟล์ของฉันตัวอย่าง: ฉันพิมพ์ "python mnist.py" ... เนื่องจากฉันมีทุกอย่างใน python3 ฉันคิดว่าฉันพยายามใช้ python 2.7

การแก้ไข: "python3 mnist.py" - ทั้ง 3 สร้างความแตกต่างทั้งหมด

ฉันไม่เคยเป็นผู้เชี่ยวชาญในงูหลามหรือ pip แต่มีความแตกต่างระหว่าง pip และ pip3 (pip ผูกกับ python 2.7) (pip3 ผูกกับ python 3.6)

ดังนั้นเมื่อติดตั้ง 2.7 do: pip install เมื่อติดตั้ง 3.6 do: pip3 install

และเมื่อเรียกใช้รหัสของคุณสำหรับ 2.7 ทำ: python เมื่อใช้รหัสของคุณสำหรับ 3.6 ทำ: python3

ฉันหวังว่านี่จะช่วยให้ใครบางคน!


1

ความคิดเห็นในฟีดปกติถูกปิดกั้น ให้ฉันเขียนสาเหตุที่เกิดขึ้นเช่นเดียวกับเมื่อคุณเรียกใช้แอปของคุณ

หากคุณใช้งานสคริปต์ python หรือ ipython ในสภาพแวดล้อมอื่นนอกเหนือจากที่คุณติดตั้งไว้คุณจะได้รับปัญหาเหล่านี้

อย่าสับสนติดตั้งใหม่ Matplotlib ได้รับการติดตั้งตามปกติในสภาพแวดล้อมผู้ใช้ของคุณไม่ใช่ใน sudo คุณกำลังเปลี่ยนสภาพแวดล้อม

ดังนั้นอย่าติดตั้ง pip ให้แน่ใจว่าคุณใช้มันเป็น sudo ถ้าคุณติดตั้งในสภาพแวดล้อม sudo


0

ฉันทุบหัวของฉันเป็นเวลาหลายชั่วโมงจนกระทั่งฉันคิดถึงการตรวจสอบ. bash_profile ฉันไม่มีเส้นทางที่ระบุไว้สำหรับ python3 ดังนั้นฉันจึงเพิ่มรหัสต่อไปนี้:

# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH

และจากนั้น matplotlib sudo pip3 install matplotlibติดตั้งใหม่ด้วย ตอนนี้ทั้งหมดทำงานได้อย่างสวยงาม


0

ดังนั้นฉันจึงใช้python3 -m pip install matplotlib' thenการนำเข้า matplotlib.pyplot เป็น plt` และใช้งานได้

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