ImportError: Tidak ada modul bernama matplotlib.pyplot

149

Saat ini saya sedang berlatih matplotlib. Ini adalah contoh pertama yang saya praktekkan.

#!/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()

Ketika saya menjalankan skrip ini python ./plot_test.py, itu menunjukkan plot dengan benar. Namun, saya menjalankannya sendiri ./plot_test.py,, ia melempar yang berikut:

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

Apakah python mencari matplotlib di lokasi yang berbeda?

Lingkungannya adalah:

Mac OS X 10.8.4 64bit
built-in python 2.7

numpy, scipy, matplotlib diinstal dengan:

sudo port install py27-numpy py27-scipy py27-matplotlib \
py27-ipython +notebook py27-pandas py27-sympy py27-nose
lagu
sumber
coba gunakan #! / usr / bin / env python sebagai gantinya
Uku Loskit
1
#! / usr / bin / env python tidak berfungsi, kesalahan yang sama terjadi.
NIMISHAN

Jawaban:

48

Anda memiliki dua ular sanca yang terinstal di mesin Anda, satu adalah python standar yang datang dengan Mac OSX dan yang kedua adalah yang Anda instal dengan port (ini adalah yang telah matplotlibdiinstal di perpustakaannya, satu yang datang dengan macosx tidak) .

/usr/bin/python

Merupakan mac python standar dan karena tidak ada, matplotlibAnda harus selalu memulai skrip Anda dengan skrip yang diinstal dengan port.

Jika python your_script.pyberhasil, ubah #!ke:

#!/usr/bin/env python

Atau letakkan path lengkap ke interpreter python yang telah matplotlibdiinstal di pustaka.

Viktor Kerkez
sumber
3
dapatkah Anda menjelaskan lebih banyak. Saya menghadapi masalah yang sama.
Akash Kandpal
1
Bisakah Anda berikan langkah-langkahnya. Saya juga tidak mendapatkan apa yang Anda coba jelaskan karena saya menghadapi masalah yang sama di mac saya
bhaskar
Ini mungkin terjadi ketika Anda memiliki nama file matplotlib.py di direktori kerja Anda
Abhishek Parikh
4
Dalam python3, instalasi matplotlib menggunakan terpisah python3 -m pip install matplotlibmemecahkan kesalahan. Diuji pada Ubuntu 16.04.
vineeshvs
159

pip akan membuat hidup Anda mudah!

Langkah 1: Instal pip - Periksa apakah Anda sudah memiliki pip hanya dengan menulis pip di konsol python. Jika Anda tidak memiliki pip, dapatkan skrip python bernama get-pip.py, lewat sini: https://pip.pypa.io/en/latest/installing.html atau langsung di sini: https: //bootstrap.pypa .io / get-pip.py (Anda mungkin harus menggunakan Save As ..)

Langkah 2: Catat di mana file disimpan dan cd direktori dari command prompt. Jalankan skrip get-pip.py untuk menginstal pip. Anda dapat menulis dalam cmd baris ini dalam tanda kutip: "python. \ Get-pip.py"

Langkah 3: Sekarang dalam tipe cmd: pip install matplotlib

Dan Anda harus melaluinya.

Sheetal Kaul
sumber
13
Dalam pertanyaan tersebut, ditentukan bahwa perpustakaan sudah diinstal
tashuhka
4
Ada terlalu banyak upvotes untuk jawaban ini sebagaimana ditulis saat ini. Alih-alih mengunduh pip, karena mereka (sedang menggunakan macosx) sudah memiliki macports, OP harus dijalankan sudo port install pip. Kedua, pipagar bermanfaat di luar pengaturan yang ada, mereka juga harus melakukannya sudo port install virtualenv, untuk python lokal "lingkungan virtual" (mungkin disebut python3-virtualenv). Kemudian, setelah mengatur dan memasukkan (mengaktifkan) virtualenv baru, jalankan pip install ...di dalam virtualenv. Terakhir, skrip python masih perlu dipanggil menggunakan #!/usr/bin/env pythonagar semua ini berfungsi.
michael
di ubuntu saya menggunakan python ./get-pip.py --user dan itu berhasil untuk saya. thx
LeleMarieC
36

Jika Anda menggunakan Python 2, jalankan saja

sudo apt-get install python-matplotlib

Cara terbaik untuk mendapatkan matplotlibadalah:

pip install matplotlib

karena cara sebelumnya mungkin memberi Anda versi lama matplotlib

k.biao
sumber
maaf, saya tidak menentukan sistem, saya menggunakan Debian, sistem similary akan berfungsi.
k.biao
4
np, tetapi pertanyaannya menyatakan: The environment is: Mac OS X 10.8.4 64bit built-in python 2.7
Lanting
Anda dapat mencari perintah yang mirip dengan 'apt-get' untuk OS X Anda
k.biao
Di Ubuntu Anda dapat menggunakan sudo apt-get install python-matplotlibuntuk python3.
user2023370
24

Ini berhasil bagi saya, terinspirasi oleh Sheetal Kaul

pip uninstall matplotlib
python3 -m pip install matplotlib

Saya tahu itu dipasang di tempat yang salah ketika ini berfungsi:

python2.7
import matplotlib
Punnerud
sumber
12

versi pertama dari python

untuk python2 Vesion

sudo apt-get install python-matplotlib

untuk versi python3

sudo apt-get install python3-matplotlib

jika Anda salah mencocokkan pemasangan matplotlib dengan versi python Anda akan mendapatkan No module error karena tidak ada modul untuk versi yang keluar.

negi
sumber
9

Untuk python3. Hanya perlu berlaripip3 install matplotlib

masukkan deskripsi gambar di sini

Hoang Tran Son
sumber
4

Jika Anda menggunakan Anaconda3

Taruh saja

conda install -c conda-forge matplotlib
Ashiq Imran
sumber
1

Saya memiliki masalah serupa yang saya selesaikan dan ini adalah masalah saya:

Saya mengatur semuanya di python3 tapi saya menggunakan python untuk memanggil file saya misalnya: Saya mengetik "python mnist.py" ... karena saya memiliki semuanya di python3, saya berpikir saya mencoba menggunakan python 2.7

Koreksi: "python3 mnist.py" - 3 membuat semua perbedaan

Saya sama sekali tidak ahli dalam python atau pip, tetapi pasti ada perbedaan antara pip dan pip3 (pip terkait dengan python 2.7) (pip3 terikat ke python 3.6)

jadi ketika menginstal untuk 2,7 do: pip instal ketika menginstal untuk 3.6 do: pip3 instal

dan ketika menjalankan kode Anda untuk 2,7 do: python ketika menjalankan kode Anda untuk 3,6 do: python3

Saya harap ini membantu seseorang!

Dinob661
sumber
1

Komentar dalam umpan normal dicekal. Biarkan saya menulis mengapa ini terjadi, sama seperti ketika Anda menjalankan aplikasi Anda.

Jika Anda menjalankan skrip, python atau ipython di lingkungan lain dari yang Anda instal, Anda akan mendapatkan masalah ini.

Jangan bingung menginstalnya kembali. Matplotlib biasanya dipasang di lingkungan pengguna Anda, bukan di sudo. Anda mengubah lingkungan.

Jadi jangan instal ulang pip, pastikan Anda menjalankannya sebagai sudo jika Anda menginstalnya di lingkungan sudo.

Alekssandro Assis Barbosa
sumber
0

Saya memukul kepala saya selama berjam-jam sampai saya berpikir untuk memeriksa .bash_profile saya. Saya tidak memiliki jalur terdaftar untuk python3 jadi saya menambahkan kode berikut:

# 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

Dan kemudian instal ulang matplotlib dengan sudo pip3 install matplotlib. Semua bekerja dengan baik sekarang.

David
sumber
0

Jadi saya menggunakan python3 -m pip install matplotlib' thenimpor matplotlib.pyplot sebagai plt` dan berhasil.

Arif Khan
sumber