ImportError: Kein Modul mit dem Namen matplotlib.pyplot

148

Ich übe gerade Matplotlib. Dies ist das erste Beispiel, das ich übe.

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

Wenn ich dieses Skript mit ausführe python ./plot_test.py, wird die Handlung korrekt angezeigt. Ich führe es jedoch alleine aus ./plot_test.py, es wirft Folgendes auf:

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

Sucht Python an verschiedenen Orten nach Matplotlib?

Die Umgebung ist:

Mac OS X 10.8.4 64bit
built-in python 2.7

numpy, scipy, matplotlib wird installiert mit:

sudo port install py27-numpy py27-scipy py27-matplotlib \
py27-ipython +notebook py27-pandas py27-sympy py27-nose
Lied Lied
quelle
Versuchen Sie stattdessen, #! / usr / bin / env Python zu verwenden
Uku Loskit
1
#! / usr / bin / env Python hat nicht funktioniert, der gleiche Fehler tritt auf.
NIMISHAN

Antworten:

48

Sie haben zwei Pythons auf Ihrem Computer installiert, einer ist der Standard-Python, der mit Mac OSX geliefert wird, und der zweite ist der, den Sie mit Ports installiert haben (dies ist derjenige, der matplotlibin seiner Bibliothek installiert wurde, derjenige, der mit Macosx geliefert wird, nicht). .

/usr/bin/python

Ist das Standard-Mac-Python und da es nicht vorhanden ist matplotlib, sollten Sie Ihr Skript immer mit dem Skript starten, auf dem Ports installiert sind.

Wenn dies python your_script.pyfunktioniert, ändern Sie Folgendes #!in:

#!/usr/bin/env python

Oder geben Sie den vollständigen Pfad zum Python-Interpreter ein, auf dem matplotlibdie Bibliothek installiert ist.

Viktor Kerkez
quelle
3
Können Sie etwas näher darauf eingehen? Ich stehe vor den gleichen Problemen.
Akash Kandpal
1
Können Sie bitte die Schritte angeben. Ich bin auch nicht bekommen , was Sie versuchen , wie ich das gleiche Problem in meinem Mac bin vor zu erklären
bhaskar
Es kann passieren, wenn Sie den Dateinamen matplotlib.py in Ihrem Arbeitsverzeichnis haben
Abhishek Parikh
4
In Python3 wurde der Fehler durch eine separate Installation von matplotlib mithilfe von python3 -m pip install matplotlibbehoben. Getestet unter Ubuntu 16.04.
Vineeshvs
159

pip wird dir das Leben leichter machen!

Schritt 1: Pip installieren - Überprüfen Sie, ob Sie Pip bereits haben, indem Sie Pip einfach in die Python-Konsole schreiben. Wenn Sie kein Pip haben, rufen Sie ein Python-Skript namens get-pip.py hier auf: https://pip.pypa.io/en/latest/installing.html oder direkt hier: https: //bootstrap.pypa .io / get-pip.py (Möglicherweise müssen Sie Speichern unter .. verwenden.)

Schritt 2: Notieren Sie sich, wo die Datei gespeichert wurde, und kopieren Sie das Verzeichnis über die Eingabeaufforderung. Führen Sie das Skript get-pip.py aus, um pip zu installieren. Sie können diese Zeile in Anführungszeichen in cmd schreiben: "python. \ Get-pip.py"

Schritt 3: Jetzt in cmd Typ: pip install matplotlib

Und du solltest durch sein.

Sheetal Kaul
quelle
13
In der Frage wird angegeben, dass die Bibliothek bereits installiert ist
Tashuhka
4
Es gibt zu viele positive Stimmen für diese Antwort, wie derzeit geschrieben. Anstatt pip herunterzuladen, sollte das OP ausgeführt werden, da sie (unter Macosx) bereits über Macports verfügen sudo port install pip. Zweitens pipsollten sie dies sudo port install virtualenvauch für lokale Python- "virtuelle Umgebungen" (möglicherweise genannt python3-virtualenv) tun , um über das vorhandene Setup hinaus nützlich zu sein . Führen Sie dann nach dem Einrichten und Eingeben (Aktivieren) einer neuen virtuellen Umgebung pip install ...die virtuelle Umgebung aus. Schließlich muss das Python-Skript noch aufgerufen werden, #!/usr/bin/env pythondamit dies funktioniert.
Michael
Auf Ubuntu habe ich Python ./get-pip.py --user verwendet und das hat bei mir funktioniert. thx
LeleMarieC
35

Wenn Sie Python 2 verwenden, führen Sie es einfach aus

sudo apt-get install python-matplotlib

Der beste Weg zu bekommen matplotlibist:

pip install matplotlib

Denn der vorherige Weg kann Ihnen eine alte Version von geben matplotlib

k.biao
quelle
Entschuldigung, ich habe das System nicht angegeben, ich verwende Debian, ähnliche Systeme werden funktionieren.
k.biao
4
np, aber die Frage lautet: The environment is: Mac OS X 10.8.4 64bit built-in python 2.7
Lanting
Sie können den Befehl ähnlich wie 'apt-get' für Ihr OS X
suchen
Unter Ubuntu können Sie sudo apt-get install python-matplotlibfür Python3 verwenden.
user2023370
24

Das hat bei mir funktioniert, inspiriert von Sheetal Kaul

pip uninstall matplotlib
python3 -m pip install matplotlib

Ich wusste, dass es am falschen Ort installiert wurde, als dies funktionierte:

python2.7
import matplotlib
Punnerud
quelle
12

Überprüfen Sie zuerst die Version von Python

für python2 Vesion

sudo apt-get install python-matplotlib

für die Python3-Version

sudo apt-get install python3-matplotlib

Wenn Sie die Installation von matplotlib mit der Python-Version nicht übereinstimmen, wird kein Modulfehler angezeigt, da kein Modul für diese Version beendet wird.

negi
quelle
8

Für Python3. Ich muss nur rennenpip3 install matplotlib

Geben Sie hier die Bildbeschreibung ein

Hoang Tran Sohn
quelle
4

Wenn Sie Anaconda3 verwenden

Einfach gesagt

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

Ich hatte ein ähnliches Problem, das ich gelöst habe, und hier ist mein Problem:

Ich habe alles auf Python3 eingerichtet, aber ich habe Python verwendet, um meine Datei aufzurufen, zum Beispiel: Ich habe "python mnist.py" eingegeben ... da ich alles auf Python3 habe, dachte ich, ich würde versuchen, Python 2.7 zu verwenden

Die Korrektur: "python3 mnist.py" - die 3 machte den Unterschied

Ich bin kein Experte für Python oder Pip, aber es gibt definitiv einen Unterschied zwischen pip und pip3 (pip ist an Python 2.7 gebunden) (pip3 ist an Python 3.6 gebunden)

Bei der Installation für 2.7 do: pip install bei der Installation für 3.6 do: pip3 install

und wenn Sie Ihren Code für 2.7 ausführen do: python wenn Sie Ihren Code für 3.6 ausführen do: python3

Ich hoffe das hilft jemandem!

Dinob661
quelle
1

Kommentare im normalen Feed sind gesperrt. Lassen Sie mich schreiben, warum dies passiert, genau wie bei der Ausführung Ihrer App.

Wenn Sie Skripte, Python oder Ipython in einer anderen als der von Ihnen installierten Umgebung ausgeführt haben, treten diese Probleme auf.

Verwechseln Sie nicht die Neuinstallation. Matplotlib wird normalerweise in Ihrer Benutzerumgebung installiert, nicht in sudo. Sie verändern die Umgebung.

Installieren Sie pip also nicht neu, sondern stellen Sie sicher, dass Sie es als sudo ausführen, wenn Sie es in der sudo-Umgebung installiert haben.

Alekssandro Assis Barbosa
quelle
0

Ich habe stundenlang mit dem Kopf darauf geschlagen, bis ich darüber nachgedacht habe, mein .bash_profile zu überprüfen. Ich hatte keinen Pfad für Python3 aufgelistet, also habe ich den folgenden Code hinzugefügt:

# 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

Und dann matplotlib mit neu installiert sudo pip3 install matplotlib. Alles funktioniert jetzt wunderbar.

David
quelle
0

Also habe ich python3 -m pip install matplotlib' thenimport matplotlib.pyplot als plt` verwendet und es hat funktioniert.

Arif Khan
quelle