Skip to content

Comment corriger l’erreur "No Module Named Matplotlib" en Python

ModuleNotFoundError: No module named 'matplotlib' est l’une des erreurs Python les plus fréquentes lorsqu’on fait de la visualisation de données. Elle signifie simplement que Python ne trouve pas le package Matplotlib dans l’environnement actuel. La bonne nouvelle ?
Le problème est facile à résoudre dès que vous identifiez où se situe le décalage.

Ce guide, mis à jour pour 2025, couvre toutes les causes possibles et vous donne des solutions détaillées, étape par étape pour que vous puissiez rapidement revenir à vos graphiques.

Avant de rentrer dans les détails, voici un résumé rapide.


⚡ Résumé — Check-list de dépannage (fonctionne pour ~80 % des cas)

  1. Vérifier l’installation
    python -m pip install matplotlib

2. Vérifier quelle version de Python vous utilisez

   ```python
   import sys; print(sys.executable)
   ```

3. Dans un Jupyter Notebook (cause la plus fréquente) :

   ```python
   %pip install matplotlib
   ```

   Puis redémarrer le kernel.

4. Vérifier qu’aucun fichier `matplotlib.py` ne se trouve dans votre répertoire de travail.

Toujours bloqué ? Continuez à lire — la solution à votre cas est plus bas.

---

# Pourquoi cette erreur apparaît

Vous voyez `ModuleNotFoundError` lorsque :

* Matplotlib n’a pas été installé dans l’environnement que vous utilisez.
* Vous exécutez Python avec un interpréteur différent de celui attendu.
* Jupyter utilise un kernel qui n’a pas Matplotlib installé.
* Votre IDE utilise le mauvais interpréteur.
* Un fichier dans votre projet masque la vraie librairie `matplotlib`.
* Les variables d’environnement, les chemins ou les environnements virtuels sont mal configurés.
* L’installation est corrompue.

---

## 🧠 Tableau récapitulatif : causes & solutions

| **Cause**                         | **Résumé de la solution**                                                       |
| --------------------------------- | ------------------------------------------------------------------------------- |
| Matplotlib non installé           | Installer via `python -m pip install matplotlib` (ou `conda install matplotlib`). |
| Plusieurs versions de Python      | Faire correspondre interpréteur et pip : `python -m pip install ...`.          |
| Mauvais hashbang                  | Corriger la ligne `#!` ou lancer explicitement avec `python3 script.py`.       |
| Mauvais PATH / PYTHONPATH         | Vérifier que `sys.path` inclut site-packages ou réinitialiser les variables.   |
| Installation corrompue            | `pip uninstall matplotlib` → réinstaller.                                      |
| Venv non activé                   | Activer l’environnement virtuel avant d’installer/exécuter.                    |
| Mauvais interpréteur dans l’IDE   | Sélectionner le bon interpréteur dans VS Code / PyCharm.                       |
| Kernel Jupyter inadapté           | Utiliser le bon kernel ou installer Matplotlib depuis le Notebook.             |
| Typo ou casse                     | Utiliser `import matplotlib` (tout en minuscules).                             |
| Conflit de nom                    | Supprimer/renommer les fichiers comme `matplotlib.py` dans le projet.          |

---

# Problème 1 : Matplotlib n’est pas installé

### ✔ Pourquoi cela arrive

La librairie n’est tout simplement pas présente dans votre environnement.

### ✔ Solution

Installez-la via pip ou conda :

```bash
python -m pip install matplotlib
# or
pip install matplotlib
```

Pour les utilisateurs de Conda :

```bash
conda install matplotlib
```

Vérifiez l’installation :

```python
import matplotlib
print(matplotlib.__version__)
```

Si l’import fonctionne, le problème est résolu.

---

# Problème 2 : Plusieurs versions de Python ou plusieurs environnements

C’est la **cause n°1 dans les cas réels**.

Exemples :

* Vous avez installé Matplotlib pour Python 3.11  
  mais vous lancez le script avec Python 3.9.
* Vous avez installé Matplotlib dans un environnement virtuel  
  mais vous exécutez le script avec le Python système.

### ✔ Solution : faire correspondre le pip à l’interpréteur utilisé

Vérifiez votre interpréteur Python :

```bash
python -V
python3 -V
```

Vérifiez la cible de pip :

```bash
pip --version
```

Méthode d’installation recommandée (la plus fiable) :

```bash
python -m pip install matplotlib
```

Sous Windows :

```bash
py -3.11 -m pip install matplotlib
```

Cela garantit que pip installe bien dans le bon interpréteur.

---

# Problème 3 : Mauvais hashbang dans le script (Linux/Mac)

Si votre script commence par :

```bash
#!/usr/bin/python
```

…il peut lancer Python 2 ou un Python système inattendu.

### ✔ Solution

Utilisez un shebang correct :

```bash
#!/usr/bin/env python3
```

Ou exécutez simplement votre script explicitement :

```bash
python3 plot.py
```

---

# Problème 4 : Python cherche au mauvais endroit (sys.path / variables d’environnement)

Causes fréquentes :

* `PYTHONPATH` mal configuré
* Variables d’environnement cassées
* Emplacement personnalisé de `site-packages`

### ✔ Solution

Vérifiez où Python cherche les modules :

```python
import sys
print(sys.path)
```

Trouvez où Matplotlib est installé :

```bash
pip show matplotlib
```

S’il n’apparaît pas dans le chemin de recherche de Python, corrigez en :

* supprimant un `PYTHONPATH` incorrect,
* réinstallant Matplotlib de manière standard,
* évitant les bidouillages de chemin manuels, sauf nécessité.

Diagnostic temporaire (non recommandé à long terme) :

```python
import sys
sys.path.append("/path/to/matplotlib")
```

---

# Problème 5 : Installation corrompue ou incomplète

Si l’installation a été interrompue ou si des dépendances ont échoué, Matplotlib peut être partiellement installé.

### ✔ Solution : réinstallation propre

```bash
pip uninstall matplotlib
pip install matplotlib --no-cache-dir
```

Vérifiez l’état des dépendances :

```bash
pip check
```

---

# Problème 6 : Environnement virtuel non activé

Vous avez peut‑être installé Matplotlib dans un venv…  
… mais vous exécutez Python en dehors de ce venv.

### ✔ Solution : activer le venv avant

**Windows**

```bash
.\venv\Scripts\activate
```

**macOS/Linux**

```bash
source venv/bin/activate
```

Puis installez :

```bash
pip install matplotlib
```

Assurez‑vous que Python pointe bien vers le venv :

```python
import sys; print(sys.executable)
```

---

# Problème 7 : IDE configuré avec le mauvais interpréteur (VS Code / PyCharm)

### ✔ Solution pour VS Code

Cliquez sur l’interpréteur en bas à droite → choisissez le bon environnement  
(ou lancez) :

```
Ctrl + Shift + P → “Python: Select Interpreter”
```

### ✔ Solution pour PyCharm

Preferences → Project → Python Interpreter → sélectionnez le bon environnement.

Si l’IDE utilise le mauvais Python, Matplotlib semble “manquant” même s’il est installé.

---

# Problème 8 : Kernel Jupyter différent de votre environnement

*(Cause la plus fréquente dans les workflows data science)*

Scénario typique :

* Vous avez installé Matplotlib dans un terminal
* Le notebook Jupyter utilise un Python complètement différent

### ✔ Solution 1 : vérifier le Python du notebook

```python
import sys; print(sys.executable)
```

### ✔ Solution 2 : installer Matplotlib *dans* ce kernel

```python
%pip install matplotlib
```

Redémarrez le kernel → réessayez l’import.

### ✔ Solution 3 : enregistrer l’environnement comme kernel Jupyter

```bash
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
```

---

# Problème 9 : Typo ou casse dans l’import

Correct :

```python
import matplotlib
import matplotlib.pyplot as plt
```

Incorrect :

❌ `import Matplotlib`  
❌ `import matplotllib`

---

# Problème 10 : Conflits de nom (shadowing)

Si votre projet contient des fichiers comme :

* `matplotlib.py`
* Un dossier nommé `matplotlib/`

Python importera **votre** fichier à la place de la vraie librairie.

### ✔ Solution

Renommez votre fichier/dossier :

```
my_plot_test.py
```

Supprimez le cache auto‑généré :

```
__pycache__/
```

---

# Tableau récapitulatif (mis à jour & concis)

| **Cause**          | **Solution**                              |
| ------------------ | ----------------------------------------- |
| Non installé       | Installer via pip/conda                   |
| Mauvais interpréteur | Utiliser `python -m pip install`        |
| Mauvais hashbang   | Utiliser `#!/usr/bin/env python3`         |
| Mauvais chemin     | Vérifier `sys.path`, réinitialiser env    |
| Installation corrompue | Réinstaller avec `--no-cache-dir`     |
| Venv non activé    | Activer l’environnement avant exécution   |
| IDE mal configuré  | Sélectionner le bon interpréteur          |
| Kernel Jupyter     | Installer avec `%pip`, choisir le bon kernel |
| Typo               | Utiliser `matplotlib` en minuscules       |
| Conflit de nom     | Renommer les fichiers locaux              |

---

# 🔥 Alternative : une solution sans configuration pour visualiser vos données — PyGWalker

Si vous en avez assez de déboguer vos environnements Python et que vous voulez un moyen plus rapide de visualiser vos données, essayez **PyGWalker** — un outil open‑source de visual analytics en drag‑and‑drop qui fonctionne directement dans Jupyter.

```bash
pip install pygwalker
```

```python
import pygwalker as pyg
gwalker = pyg.walk(df)
```

Essayez‑le en ligne :

| 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. J’ai installé Matplotlib mais j’ai toujours l’erreur — pourquoi ?

Vous utilisez très probablement un interpréteur Python différent de celui où Matplotlib a été installé.

### 2. Pourquoi l’erreur persiste après réinstallation ?

Votre installation peut être corrompue ou Python peut chercher au mauvais endroit. Essayez de réinstaller avec :

```bash
pip install matplotlib --no-cache-dir
```

### 3. Puis‑je installer Matplotlib dans un répertoire personnalisé ?

Oui — mais ce répertoire doit être présent dans le `sys.path` de Python.  
Utiliser les méthodes d’installation standard reste beaucoup plus simple et fiable.

---

<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`).",
}
]
}}
/>