Skip to content

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

CauseSolution
Matplotlib non installéInstaller avec pip install matplotlib ou conda.
Plusieurs versions ou environnementsUtilisez l’interpréteur correct ; installez avec la même version (python -m pip install ...).
Mauvais hashbangCorrigez la ligne shebang ou exécutez avec python3 script.py.
Mauvais chemin / variables d’environnementVérifiez sys.path ou PYTHONPATH ; réinstallez ou corrigez.
Installation corrompueDésinstallez et réinstallez Matplotlib.
Environnement virtuel non activéActivez votre venv avant de lancer le script.
IDE avec mauvais interpréteurConfigurez votre IDE pour utiliser le bon environnement.
Kernel Jupyter incorrectChangez le kernel ou installez Matplotlib dans celui-ci.
Fautes de frappeVérifiez l’orthographe (import matplotlib) en minuscules.
Conflit de nomRenommez 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 syntaxe python -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é

  1. Vérifiez dans le terminal la version de Python utilisée :

    python --version

    ou

    python3 --version
  2. 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.

  3. 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.

  4. 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
  5. 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 :

  1. Vérifiez le chemin de recherche en Python :

    import sys
    print(sys.path)
  2. 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).

  3. 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

  1. Désinstallez :
pip uninstall matplotlib
  1. Réinstallez avec un cache propre :
pip install --no-cache-dir matplotlib
  1. 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
  • 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 :

  1. Vérifiez avec :
import sys
print(sys.executable)
  1. Sélectionnez ou installez le bon kernel correspondant à votre environnement (ipykernel install ...).

  2. 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

CauseSolution
Matplotlib non installéInstaller avec pip install matplotlib ou conda.
Mauvais interpréteurVérifiez et synchronisez votre environnement Python.
Mauvais hashbangCorrigez le shebang ou utilisez l’exécution explicite avec python.
Chemins incorrectsVérifiez sys.path et PYTHONPATH.
Installation corrompueDésinstallez et réinstallez proprement.
Environnement non activéActivez votre venv ou conda env.
IDE avec mauvais interpréteurConfigurez correctement l’interpréteur.
Kernel Jupyter incorrectChoisissez ou installez le bon kernel.
Faute de frappeÉcrivez import matplotlib en minuscules.
Nommage conflictuelleRenommez 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

  1. 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.

  1. L’installation semble correcte, mais l’erreur continue ?

Il peut s’agir d’une installation corrompue ; désinstallez et réinstallez.

  1. 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 !