Créer un environnement virtuel Python sans mélanger les dépendances
Une configuration reproductible et une vérification simple de l’interpréteur utilisé par pip.
Dans ce guide
La réponse courte
Créez un environnement virtuel par projet. Installez les paquets avec l’interpréteur de cet environnement afin de ne pas modifier les dépendances d’un autre projet ou de Python système.
Choisir la version de Python avant de commencer
Un environnement virtuel sépare les paquets, mais dépend du Python qui l’a créé. Consultez d’abord la version demandée par le projet. Avec plusieurs versions installées, désignez explicitement le bon interpréteur au lieu de supposer que python choisira celui attendu.
Créez .venv à la racine du projet et gardez le code à côté, jamais à l’intérieur. L’environnement doit pouvoir être recréé lors d’un changement de machine ou de Python. L’exemple ci-dessous convient à Linux et macOS ; certaines distributions Linux nécessitent un paquet système supplémentaire pour venv.
python3 --version
python3 -m venv .venv
source .venv/bin/activatePowerShell sous Windows : l’activation reste facultative
Sous Windows, py -m venv .venv utilise le Python choisi par le lanceur. Pour une version installée précise, indiquez-la, par exemple py -3.12 -m venv .venv. Activez ensuite avec la commande PowerShell ci-dessous.
Si la politique d’exécution bloque Activate.ps1, appelez directement le python.exe de l’environnement. Il n’est pas nécessaire de modifier cette politique pour installer un paquet. L’activation ajuste seulement le shell courant ; l’environnement fonctionne sans elle.
py -m venv .venv
.\.venv\Scripts\Activate.ps1
# Direct use without activation:
.\.venv\Scripts\python.exe -m pip --versionVérifier que Python et pip appartiennent au même environnement
Le préfixe .venv dans l’invite aide, mais sys.executable donne un contrôle plus clair. Son chemin doit se trouver dans le .venv de ce projet. python -m pip --version indique aussi l’emplacement de pip. Vérifiez dans le terminal qui lance réellement l’application.
Sélectionnez ensuite ce même interpréteur dans l’éditeur. ModuleNotFoundError apparaît souvent lorsqu’un terminal installe le paquet et qu’un autre Python démarre l’application. Pour un notebook, contrôlez également le noyau sélectionné.
python -c "import sys; print(sys.executable)"
python -m pip --versionInstaller les dépendances prévues par le projet
Si requirements.txt existe, installez-le avec le Python de l’environnement. Pour un nouveau projet Django, python -m pip install Django installe Django ici. Pour un projet existant, son fichier de dépendances évite de remplacer involontairement les versions prévues.
Fixer les versions facilite la reproduction. pip freeze liste les distributions installées, mais ne décrit ni le système d’exploitation ni la version de Python et peut inclure des outils temporaires. Relisez son résultat avant d’en faire la référence du projet.
python -m pip install -r requirements.txt
python -m pip checkRecréer plutôt que copier l’environnement
Excluez .venv de Git et des archives de déploiement. Des chemins absolus et des paquets spécifiques à une plateforme rendent la copie entre Windows et Linux peu fiable. Transférez le code et les fichiers de dépendances, puis créez un nouvel environnement sur la machine cible.
Pour un service ou une tâche planifiée, utilisez le chemin complet du Python de l’environnement. Aucun terminal activé ne doit rester ouvert. La commande de démarrage indique alors clairement l’interpréteur utilisé.
Diagnostiquer une installation qui ne résout rien
Si pip manque, essayez le Python de l’environnement avec -m ensurepip --upgrade, lorsque la distribution le permet. Si vous avez créé l’environnement avec une mauvaise version de Python, recréez-le au lieu de le convertir sur place.
Si le paquet reste introuvable, comparez sys.executable, l’emplacement de pip et l’interpréteur de l’éditeur. Lisez l’erreur avant de recommencer : une compilation échouée ou une version incompatible diffère d’une installation dans le mauvais environnement. deactivate quitte l’activation du terminal courant.
python -m pip show Django
deactivatePoints à vérifier
- Placez le code source hors de .venv.
- Utilisez python -m pip avec le bon interpréteur.
- Excluez le dossier de l’environnement de Git.
Champ d’application
Python doit être installé avec le module venv. L’activation dépend du shell.