Comment Corriger l'Erreur "No Module Named Matplotlib" en Python
ModuleNotFoundError: No module named 'matplotlib' est une erreur courante que rencontrent les développeurs Python lorsqu'ils travaillent avec la visualisation de données. Cela indique que Python ne parvient pas à localiser la librairie Matplotlib dans votre environnement (Facing 'No Module Named Matplotlib' Error? Here is the Solution – Kanaries (opens in a new tab)). La bonne nouvelle, c'est que cette erreur est généralement simple à résoudre. Dans ce guide, nous expliquerons tous les causes possibles de cette erreur et détaillerons étape par étape les solutions appropriées pour chacune.
Si vous êtes débutant ou si vous faites simplement de la maintenance dans votre environnement, pas d'inquiétude ! Ce guide est rédigé dans un ton convivial, prêt à vous aider à faire fonctionner Matplotlib. Allons-y !
Comprendre l'Erreur
Lorsque vous voyez ModuleNotFoundError: No module named 'matplotlib'
, Python vous indique que le paquet matplotlib
n'est pas disponible dans le chemin de recherche de l'interpréteur actuel. Cela peut arriver pour plusieurs raisons :
- Matplotlib n’est pas installé : la librairie n’est tout simplement pas présente dans votre environnement.
- Multiples versions ou environnements Python : vous avez peut-être installé Matplotlib dans un interpréteur (ou environnement virtuel) mais exécutez votre code avec un autre (Comment corriger : No module named matplotlib (opens in a new tab)).
- Mauvaise invocation du script (problème de hashbang) : exécuter un script directement (avec un hashbang
#!
) peut utiliser une version de Python différente de celle attendue. - Chemin Python incorrect ou variables d’environnement mal configurées : Python cherche dans le mauvais répertoire pour les paquets.
- Installation corrompue : l’installation de Matplotlib est cassée ou incomplète.
- Environnement virtuel non activé : si vous utilisez un venv ou conda, il faut l’activer avant.
- Mauvaise configuration IDE ou Jupyter : votre IDE (PyCharm, VS Code, etc.) ou votre kernel Jupyter utilise une autre version/interpréteur sans Matplotlib.
- Erreurs de frappe ou majuscule dans l’import : une faute dans le nom du module peut causer l’erreur.
- Conflits de nommage : un fichier ou répertoire nommé
matplotlib
dans votre projet peut faire de l’ombre à la vraie librairie.
Tableau synthèse : Causes & Solutions
Cause | Solution |
---|---|
Matplotlib non installé | Installer avec pip install matplotlib ou conda. |
Plusieurs versions ou environnements | Utilisez l’interpréteur correct ; installez avec la même version (python -m pip install ... ). |
Mauvais hashbang | Corrigez la ligne shebang ou exécutez avec python3 script.py . |
Mauvais chemin / variables d’environnement | Vérifiez sys.path ou PYTHONPATH ; réinstallez ou corrigez. |
Installation corrompue | Désinstallez et réinstallez Matplotlib. |
Environnement virtuel non activé | Activez votre venv avant de lancer le script. |
IDE avec mauvais interpréteur | Configurez votre IDE pour utiliser le bon environnement. |
Kernel Jupyter incorrect | Changez le kernel ou installez Matplotlib dans celui-ci. |
Fautes de frappe | Vérifiez l’orthographe (import matplotlib ) en minuscules. |
Conflit de nom | Renommez votre fichier ou répertoire matplotlib . |
Dans les sections suivantes, nous traiterons chacun de ces causes en détail, avec des explications claires et des solutions.
Cause 1 : Matplotlib non installé
L'une des causes principales de cette erreur est simplement que Matplotlib n’est pas installé dans votre environnement actuel. Si la bibliothèque n’est pas présente, Python ne pourra pas l’importer.
Solution : Installer Matplotlib
Pour l’installer, utilisez le gestionnaire de paquets Python pip (ou conda si vous utilisez Anaconda).
-
Avec pip : Ouvrez votre terminal ou invite de commande et tapez :
pip install matplotlib
Si vous avez plusieurs versions de Python, utilisez
pip3
ou la syntaxepython -m pip
pour vous assurer d’installer dans le bon interpréteur :python3 -m pip install matplotlib
Cette commande télécharge et installe la dernière version de Matplotlib depuis PyPI dans votre environnement (Jupyter ModuleNotFoundError No module named Matplotlib | Saturn Cloud Blog (opens in a new tab)). L'utilisation de
python -m pip
garantit que vous installez pour le même Python que celui qui exécute votre script. -
Avec conda: Si vous utilisez Anaconda ou Miniconda, tapez :
conda install matplotlib
Cela installe la librairie depuis le dépôt conda. Assurez-vous d’activer l’environnement souhaité (
conda activate nom_de_l_env
) avant.
Après l’installation, vérifiez si tout fonctionne en lançant un petit test dans un shell Python :
import matplotlib
print(matplotlib.__version__)
Si cela s’exécute sans erreur et affiche une version, c’est que l’installation a réussi. Sinon, continuez avec les autres causes.
Cause 2 : Versions multiples de Python ou environnements
Un autre problème fréquent est la présence de plusieurs installations ou environnements Python sur votre machine. Il se peut que vous ayez installé Matplotlib pour un Python (par exemple, Python 3.9) mais que votre script s’exécute avec un autre (par exemple, Python 3.11). Le paquet est alors invisible à l’interpréteur qui exécute votre code.
Solution : Synchroniser l’installation avec l’interpréteur utilisé
-
Vérifiez dans le terminal la version de Python utilisée :
python --version
ou
python3 --version
-
Vérifiez le chemin de Python :
import sys print(sys.executable) print(sys.version)
dans un terminal ou dans un script. Cela indique le chemin exact de l’interpréteur en cours d’utilisation.
-
Vérifiez la version de pip liée :
pip --version
ou, pour être précis :
python3 -m pip --version
La sortie devrait indiquer la version de pip et le Python associé. Assurez que le
pip
utilisé correspond au Python qui lance votre script. -
Installez Matplotlib pour le bon Python :
python3 -m pip install matplotlib
ou, sur Windows avec Python 3.10 :
py -3.10 -m pip install matplotlib
-
N’oubliez pas d’utiliser la même version pour exécuter votre script que celle où vous avez installé Matplotlib.
Astuce : Toujours utiliser la syntaxe python -m pip
pour éviter ce genre de désynchronisations.
Cause 3 : Mauvais hashbang dans le script
Sur Unix/Linux, si vous exécutez un script Python directement (./mon_script.py
), le shebang (#!
) indique l’interpréteur utilisé.
Exemple de shebang incorrect :
#!/usr/bin/python
qui pourrait pointer vers Python 2, alors que vous avez installé Matplotlib pour Python 3, ou inversement.
Solution :
- Vérifiez et corrigez la ligne shebang pour utiliser la bonne version :
#!/usr/bin/env python3
- Ou exécutez toujours votre script explicitement avec Python 3 :
python3 mon_script.py
Cela garantit que vous utilisez la version correcte avec tous vos paquets installés.
Cause 4 : Chemins incorrects ou variables d’environnement
Python cherche dans une liste de chemins (sys.path
) pour localiser les modules. Si la librairie est installée dans un répertoire non inclus, l’import échoue.
Solution :
-
Vérifiez le chemin de recherche en Python :
import sys print(sys.path)
-
Si le répertoire d’installation de Matplotlib n’y apparaît pas, vous pouvez :
-
Ajouter le chemin manuellement dans votre script :
import sys sys.path.append('/chemin/vers/le/dossier') import matplotlib
-
Ou mieux, corriger votre environnement (réinstallation, modification de
PYTHONPATH
).
-
-
Vérifiez la variable d’environnement
PYTHONPATH
:-
Sur Unix :
echo $PYTHONPATH
-
Sur Windows :
echo %PYTHONPATH%
-
Si le chemin de votre
site-packages
contenant Matplotlib n’est pas là, ajoutez-le ou réinstallez dans le bon environnement.
-
Cause 5 : Installation corrompue ou incomplète
Parfois, une erreur dans le processus d’installation peut laisser une installation partielle ou cassée.
Solution : Réinstaller proprement
- Désinstallez :
pip uninstall matplotlib
- Réinstallez avec un cache propre :
pip install --no-cache-dir matplotlib
- Vérifiez à nouveau en important dans un shell Python.
Cause 6 : Environnement virtuel non activé
Les environnements virtuels (venv, conda) offrent une isolation propre pour les dépendances. Si vous avez installé Matplotlib dedans, mais que vous exécutez votre script sans activer cet environnement, vous aurez cette erreur.
Solution :
-
Activez votre environnement virtuel :
- Sur Unix :
source venv/bin/activate
- Sur Windows :
.\venv\Scripts\activate
- Sur Unix :
-
Installez Matplotlib dedans si ce n’est pas déjà fait :
pip install matplotlib
- Ensuite, exécutez votre script dans cet environnement activé.
Cause 7 : IDE utilisant le mauvais interpréteur
Votre IDE peut utiliser un autre Python que celui où vous avez installé Matplotlib.
Solution :
-
PyCharm : Vérifiez le "Project Interpreter" (Fichier > Paramètres > Projet > Interpréteur). Choisissez celui où la librairie est installée, ou en rajouter un nouveau.
-
VS Code : Cliquez sur l’interpréteur en bas à gauche ou utilisez
Ctrl+Shift+P
> "Python: Select Interpreter". Sélectionnez celui qui inclut Matplotlib. -
Autres IDEs : Faites en sorte que l’interpréteur utilisé corresponde à votre environnement où Matplotlib est installé.
Cause 8 : Mismatch du kernel Jupyter
Dans un notebook, si le kernel n’est pas celui dans lequel Matplotlib est installé, vous aurez cette erreur.
Solution :
- Vérifiez avec :
import sys
print(sys.executable)
-
Sélectionnez ou installez le bon kernel correspondant à votre environnement (
ipykernel install ...
). -
Installez Matplotlib dans le kernel actif :
%pip install matplotlib
Cause 9 : Fautes de frappe ou casse dans l’import
L’erreur peut venir d’une simple faute dans l’import :
import Matplotlib # incorrect, il faut tout en minuscules
Solution :
Utilisez toujours :
import matplotlib
en respectant la casse. Sur Windows, cela fonctionne parfois sans erreur, mais il vaut mieux suivre la casse exacte.
Cause 10 : Conflits de noms (shadowing)
Si votre fichier script s’appelle matplotlib.py
, Python va l’importer à la place de la vraie librairie, ce qui provoque une erreur.
Solution :
- Renommez votre fichier
matplotlib.py
en autre chose. - Supprimez tout
.pyc
ou cache dans__pycache__
. - Relancez le script.
Récapitulatif rapide
Cause | Solution |
---|---|
Matplotlib non installé | Installer avec pip install matplotlib ou conda. |
Mauvais interpréteur | Vérifiez et synchronisez votre environnement Python. |
Mauvais hashbang | Corrigez le shebang ou utilisez l’exécution explicite avec python . |
Chemins incorrects | Vérifiez sys.path et PYTHONPATH . |
Installation corrompue | Désinstallez et réinstallez proprement. |
Environnement non activé | Activez votre venv ou conda env. |
IDE avec mauvais interpréteur | Configurez correctement l’interpréteur. |
Kernel Jupyter incorrect | Choisissez ou installez le bon kernel. |
Faute de frappe | Écrivez import matplotlib en minuscules. |
Nommage conflictuelle | Renommez votre fichier s’il s’intitule aussi matplotlib.py . |
Astuce supplémentaire : Visualiser via PyGWalker
En complément, pour créer rapidement des visualisations de données sans trop de configuration, vous pouvez utiliser PyGWalker (opens in a new tab), une librairie open source qui permet de drag-and-drop pour créer des graphiques. Plus d’informations et une démo vidéo sont disponibles ici.
FAQ
- Je l’ai installé, pourquoi l’erreur persiste ?
Vérifiez que vous exécutez votre script avec le même Python que celui où vous avez installé Matplotlib.
- L’installation semble correcte, mais l’erreur continue ?
Il peut s’agir d’une installation corrompue ; désinstallez et réinstallez.
- Puis-je installer Matplotlib dans un répertoire spécifique pour éviter cette erreur ?
C’est possible, mais le plus simple est d’utiliser l’environnement Python configuré avec pip et PYTHONPATH correctement.
En suivant ces conseils étape par étape, vous devriez pouvoir faire disparaître cette erreur et continuer votre développement en toute sérénité. Bon codage et visualisation !