So behebst du den Fehler "No Module Named Matplotlib" in Python
ModuleNotFoundError: No module named 'matplotlib' ist einer der häufigsten Python-Fehler bei der Arbeit mit Datenvisualisierung. Er bedeutet einfach, dass Python das Paket Matplotlib in deiner aktuellen Umgebung nicht finden kann. Die gute Nachricht:
Das Problem ist leicht zu lösen, sobald du weißt, wo die Diskrepanz entsteht.
Dieser für 2025 aktualisierte Leitfaden deckt alle möglichen Ursachen ab und gibt dir klare, schrittweise Lösungen, damit du schnell wieder plotten kannst.
Bevor wir ins Detail gehen, hier eine kurze Übersicht.
⚡ TL;DR — Quick-Fix-Checkliste (funktioniert für ca. 80 % der Fälle)
- Installation prüfen
python -m pip install matplotlib
2. Prüfen, welches Python du verwendest
```python
import sys; print(sys.executable)
```
3. In Jupyter Notebook (häufigste Ursache):
```python
%pip install matplotlib
```
Danach Kernel neu starten.
4. Sicherstellen, dass es keine Datei namens `matplotlib.py` in deinem Arbeitsverzeichnis gibt.
Funktioniert es immer noch nicht? Lies weiter – deine Antwort steht unten.
---
# Warum dieser Fehler auftritt
Du siehst `ModuleNotFoundError`, wenn:
* Matplotlib in der verwendeten Umgebung nicht installiert wurde.
* Du dein Skript mit einem anderen Python-Interpreter ausführst als gedacht.
* Jupyter einen Kernel nutzt, in dem Matplotlib nicht installiert ist.
* Deine IDE einen falschen Interpreter verwendet.
* Eine Datei in deinem Projekt die echte `matplotlib`‑Bibliothek überschattet.
* Umgebungsvariablen, Pfade oder virtuelle Umgebungen falsch konfiguriert sind.
* Die Installation beschädigt ist.
---
## 🧠 Schnellreferenz: Ursachen & Lösungen
| **Ursache** | **Lösung – Kurzfassung** |
| --------------------------------- | -------------------------------------------------------------------------------- |
| Matplotlib nicht installiert | Mit `python -m pip install matplotlib` (oder `conda install matplotlib`) holen. |
| Mehrere Python-Versionen | Interpreter und pip abgleichen: `python -m pip install ...`. |
| Falscher Hashbang | `#!`-Zeile anpassen oder explizit mit `python3 script.py` starten. |
| Falscher PATH / PYTHONPATH | Prüfen, ob `sys.path` site-packages enthält, oder Env-Variablen zurücksetzen. |
| Beschädigte Installation | `pip uninstall matplotlib` → neu installieren. |
| Virtuelle Umgebung nicht aktiv | venv vor Installation / Ausführung aktivieren. |
| IDE-Interpreter falsch | In VS Code / PyCharm den richtigen Interpreter auswählen. |
| Jupyter-Kernel falsch | Richtigen Kernel nutzen oder Matplotlib im Notebook installieren. |
| Tippfehler / Groß-/Kleinschreibung| `import matplotlib` (alles klein) verwenden. |
| Namenskonflikt | Dateien wie `matplotlib.py` umbenennen/entfernen. |
---
# Problem 1: Matplotlib ist nicht installiert
### ✔ Warum das passiert
Die Bibliothek ist in deiner Umgebung schlicht nicht vorhanden.
### ✔ Lösung
Installiere sie mit pip oder conda:
```bash
python -m pip install matplotlib
# oder
pip install matplotlib
```
Für Conda-Nutzer:
```bash
conda install matplotlib
```
Installation prüfen:
```python
import matplotlib
print(matplotlib.__version__)
```
Wenn der Import funktioniert, bist du fertig.
---
# Problem 2: Du hast mehrere Python-Versionen oder -Umgebungen
Dies ist die **häufigste Ursache in der Praxis**.
Beispiele:
* Matplotlib für Python 3.11 installiert,
aber das Skript wird mit Python 3.9 ausgeführt.
* Matplotlib in einer virtuellen Umgebung installiert,
aber das Skript mit dem System-Python gestartet.
### ✔ Lösung: Sicherstellen, dass pip in dieselbe Python-Version installiert, die du ausführst
Python-Interpreter prüfen:
```bash
python -V
python3 -V
```
prüfen, wohin pip installiert:
```bash
pip --version
```
Empfohlene, robuste Installation:
```bash
python -m pip install matplotlib
```
Für Windows:
```bash
py -3.11 -m pip install matplotlib
```
So stellst du sicher, dass pip in den richtigen Interpreter installiert.
---
# Problem 3: Falscher Shebang in Skripten (Linux/Mac)
Wenn dein Skript mit:
```bash
#!/usr/bin/python
```
beginnt, kann es sein, dass versehentlich Python 2 oder ein System-Python verwendet wird.
### ✔ Lösung
Verwende den korrekten Shebang:
```bash
#!/usr/bin/env python3
```
Oder führe dein Skript explizit aus:
```bash
python3 plot.py
```
---
# Problem 4: Python sucht im falschen Pfad (sys.path / Umgebungsvariablen)
Typische Ursachen:
* Falsch gesetzter `PYTHONPATH`
* Defekte Umgebungsvariablen
* Eigener, manueller site-packages-Pfad
### ✔ Lösung
Prüfen, wo Python sucht:
```python
import sys
print(sys.path)
```
Herausfinden, wo Matplotlib installiert wurde:
```bash
pip show matplotlib
```
Wenn dieser Pfad nicht in Pythons Suchpfaden ist, beheben durch:
* Falschen `PYTHONPATH` entfernen
* Matplotlib normal neu installieren
* Manuelle Pfad-Hacks nur im Notfall nutzen
Temporärer Diagnose-Hack (nicht als Dauerlösung empfohlen):
```python
import sys
sys.path.append("/path/to/matplotlib")
```
---
# Problem 5: Beschädigte oder unvollständige Installation
Wenn die Installation unterbrochen wurde oder Abhängigkeiten fehlgeschlagen sind, kann Matplotlib nur teilweise installiert sein.
### ✔ Lösung: Saubere Neuinstallation
```bash
pip uninstall matplotlib
pip install matplotlib --no-cache-dir
```
Abhängigkeiten prüfen:
```bash
pip check
```
---
# Problem 6: Virtuelle Umgebung (venv) nicht aktiviert
Du hast Matplotlib möglicherweise in einer venv installiert,
… startest Python aber außerhalb dieser venv.
### ✔ Lösung: venv zuerst aktivieren
**Windows**
```bash
.\venv\Scripts\activate
```
**macOS/Linux**
```bash
source venv/bin/activate
```
Dann installieren:
```bash
pip install matplotlib
```
Sicherstellen, dass Python auf die venv zeigt:
```python
import sys; print(sys.executable)
```
---
# Problem 7: IDE verwendet den falschen Interpreter (VS Code / PyCharm)
### ✔ Lösung für VS Code
Unten rechts auf den Interpreter klicken → richtige Umgebung auswählen
(oder ausführen):
```
Ctrl + Shift + P → “Python: Select Interpreter”
```
### ✔ Lösung für PyCharm
Preferences → Project → Python Interpreter → passende Umgebung auswählen.
Wenn die IDE den falschen Python nutzt, wirkt es so, als sei Matplotlib „nicht installiert“, obwohl es vorhanden ist.
---
# Problem 8: Jupyter Notebook nutzt den falschen Kernel
*(Sehr häufig in Data-Science-Workflows)*
Typischer Fall:
* Du installierst Matplotlib im Terminal,
* das Jupyter Notebook verwendet aber einen ganz anderen Python.
### ✔ Lösung 1: Python des Notebooks prüfen
```python
import sys; print(sys.executable)
```
### ✔ Lösung 2: Matplotlib *in diesem* Kernel installieren
```python
%pip install matplotlib
```
Kernel neu starten → erneut importieren.
### ✔ Lösung 3: Die Umgebung als Jupyter-Kernel registrieren
```bash
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
```
---
# Problem 9: Tippfehler oder falsche Groß-/Kleinschreibung im Import
Korrekt:
```python
import matplotlib
import matplotlib.pyplot as plt
```
Falsch:
❌ `import Matplotlib`
❌ `import matplotllib`
---
# Problem 10: Namenskonflikte (Shadowing)
Wenn dein Projekt Dateien enthält wie:
* `matplotlib.py`
* Ordner namens `matplotlib/`
wird Python **deine** Datei statt der echten Bibliothek importieren.
### ✔ Lösung
Benenne Datei/Ordner um, z. B.:
```
my_plot_test.py
```
Autogenerierte Caches löschen:
```
__pycache__/
```
---
# Zusammenfassung – kompakte Tabelle
| **Ursache** | **Lösung** |
| ------------------ | -------------------------------------------- |
| Nicht installiert | Mit pip/conda installieren |
| Falscher Interpreter | `python -m pip install` verwenden |
| Falscher Hashbang | `#!/usr/bin/env python3` nutzen |
| Falscher Pfad | `sys.path` prüfen, Env-Variablen zurücksetzen|
| Beschädigte Installation | Mit `--no-cache-dir` neu installieren |
| venv nicht aktiv | Umgebung vor Ausführung aktivieren |
| IDE-Mismatch | Richtigen Interpreter in der IDE wählen |
| Jupyter-Mismatch | Mit `%pip` installieren, richtigen Kernel wählen |
| Tippfehler | Klein geschriebenes `matplotlib` importieren |
| Namenskonflikt | Lokale Dateien umbenennen |
---
# 🔥 Alternative: Daten ohne Setup visualisieren – PyGWalker
Wenn du keine Lust auf Environment-Debugging hast und einen schnelleren Weg zur Datenvisualisierung suchst, probiere **PyGWalker** – ein Open-Source-Tool für visuelle Analytik mit Drag-and-Drop, das direkt in Jupyter funktioniert.
```bash
pip install pygwalker
```
```python
import pygwalker as pyg
gwalker = pyg.walk(df)
```
Online ausprobieren:
| Kaggle | Google Colab | GitHub |
| -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| [https://www.kaggle.com/asmdef/pygwalker-test](https://www.kaggle.com/asmdef/pygwalker-test) | [https://colab.research.google.com/](https://colab.research.google.com/)... | [https://github.com/Kanaries/pygwalker](https://github.com/Kanaries/pygwalker) |
---
# FAQ
### 1. Ich habe Matplotlib installiert, bekomme den Fehler aber trotzdem – warum?
Du verwendest sehr wahrscheinlich einen anderen Python-Interpreter als den, in dem Matplotlib installiert wurde.
### 2. Warum bleibt der Fehler auch nach einer Neuinstallation bestehen?
Deine Installation könnte beschädigt sein oder Python durchsucht den falschen Pfad. Versuche eine Neuinstallation mit:
```bash
pip install matplotlib --no-cache-dir
```
### 3. Kann ich Matplotlib in ein eigenes Verzeichnis installieren?
Ja – aber dieses Verzeichnis muss in `sys.path` enthalten sein.
Die Nutzung der Standardinstallationswege ist meist deutlich einfacher und zuverlässiger.
---
<JSONldScript
faq={{
data: [
{
question: "Why do I encounter the 'No Module Named Matplotlib' error even after installation?",
answer: "You are likely running Python from a different interpreter than the one where Matplotlib is installed.",
},
{
question: "Why does the error persist even after correcting the Python version?",
answer: "You may have a corrupted installation or Python is checking the wrong path. Try reinstalling or fixing paths.",
},
{
question: "Can I install Matplotlib in a custom directory?",
answer: "Yes, but Python must include that directory in its search paths (`sys.path`).",
}
]
}}
/>