No module named 'X'

Python Erreur courante

Explication

L'erreur `ModuleNotFoundError: No module named 'X'` (un type d'`ImportError`) signifie que Python ne trouve pas le module que vous importez. Dans la grande majorité des cas, le paquet **n'est pas installé** dans l'environnement Python utilisé, ou vous n'êtes pas dans le bon environnement virtuel. ```python import requests # ModuleNotFoundError: No module named 'requests' ```

Causes courantes

- **Paquet non installé** dans cet interpréteur. - **Mauvais environnement virtuel** (installé dans un venv, exécuté dans un autre). - **Faute de frappe** ou mauvais nom (`PIL` s'installe via `pip install pillow`). - **Un fichier local qui masque le module** (ex. un `random.py` à vous, qui cache la bibliothèque standard). - **Import relatif incorrect** dans un package.

1. Installez le paquet dans le bon interpréteur

La méthode la plus fiable utilise le pip lié à l'interpréteur courant :

python -m pip install requests

2. Activez votre environnement virtuel

# Linux / macOS
source .venv/bin/activate
# Windows
.venv\Scripts\activate
python -m pip install requests

3. Vérifiez quel Python s'exécute

import sys
print(sys.executable)   # le chemin doit correspondre à votre venv

4. Évitez les fichiers qui masquent un module

Ne nommez pas vos fichiers comme une bibliothèque (random.py, email.py, requests.py) : Python importerait votre fichier à la place.

Comment prevenir cette erreur

- **Travaillez dans un venv** et figez vos dépendances dans un `requirements.txt` (`pip freeze > requirements.txt`). - **Vérifiez le vrai nom du paquet** sur PyPI (le nom d'import diffère parfois du nom d'installation). - Dans VS Code, sélectionnez le bon interpréteur (en bas à droite). - Référence : [docs.python.org — Modules](https://docs.python.org/fr/3/tutorial/modules.html).

Besoin d'aide sur votre projet ?

Besoin d'aide sur un probleme technique ? Decrivez-le pour des recommandations.

Nous contacter

Questions frequentes

J'ai fait `pip install` mais l'erreur persiste, pourquoi ?
Le paquet a probablement été installé pour un autre interpréteur. Lancez `python -m pip install ...` (avec le même `python` que celui qui exécute votre script) et vérifiez `sys.executable`.
Quelle différence entre `ImportError` et `ModuleNotFoundError` ?
`ModuleNotFoundError` est une sous-classe d'`ImportError`, levée précisément quand le module est introuvable. `ImportError` couvre aussi le cas où le module existe mais un nom précis ne peut pas être importé (`cannot import name`).

Erreurs similaires

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.