3.2pip, environnements virtuels (venv) & gestion de dépendances
venv et gérer requirements.txt.La force de Python, c'est aussi son immense catalogue de bibliothèques externes. On les installe avec pip, le gestionnaire de paquets, depuis PyPI. Mais installer tout « globalement » mène vite au chaos : deux projets peuvent exiger des versions différentes d'une même bibliothèque.
La solution professionnelle est l'environnement virtuel (venv) : une bulle isolée par projet, avec ses propres dépendances. Couplé au fichier requirements.txt, il rend vos projets reproductibles sur n'importe quelle machine. C'est une habitude à prendre dès maintenant.
Vocabulaire de la section
- pip
- Gestionnaire de paquets de Python : « pip install pandas » télécharge et installe une bibliothèque depuis PyPI.
- PyPI
- Python Package Index (pypi.org) : le dépôt central de centaines de milliers de bibliothèques tierces.
- Environnement virtuel (venv)
- Dossier isolé contenant un Python et des paquets propres à un projet, sans interférer avec les autres.
- Activation
- Rendre un venv actif dans le terminal (Scripts\activate sous Windows) pour que pip et python y pointent.
- requirements.txt
- Liste des dépendances et de leurs versions. « pip freeze > requirements.txt » l'exporte ; « pip install -r » les réinstalle.
Pourquoi utiliser un environnement virtuel (venv) par projet ?
En pratique — Isoler un projet avec venv et pip
- Dans un dossier de projet, créez un environnement : « python -m venv .venv », puis activez-le (Windows : .venv\Scripts\activate).
- Installez une bibliothèque : « pip install requests ». Vérifiez avec « pip list » qu'elle est dans CE venv, pas en global.
- Figez les dépendances : « pip freeze > requirements.txt ». Ouvrez le fichier et observez les versions épinglées.
- Désactivez (deactivate), supprimez le venv, recréez-en un et réinstallez tout avec « pip install -r requirements.txt » : reproductibilité validée.
Points clés à retenir
- pip installe des bibliothèques depuis PyPI (pip install nom).
- Un venv isole les dépendances par projet : plus de conflits de versions.
- Toujours activer le venv avant de travailler (pip/python y pointent alors).
- requirements.txt (pip freeze / pip install -r) rend le projet reproductible.
Questions fréquentes
Pourquoi ne pas tout installer en global, c'est plus simple ?
Parce que deux projets peuvent exiger des versions incompatibles d'une même bibliothèque, et l'installation globale finit en « enfer des dépendances ». Un venv par projet garantit que chacun a exactement ce qu'il lui faut, et rend le projet partageable à l'identique.
Faut-il committer le dossier .venv dans Git ?
Non, jamais : il est volumineux et spécifique à la machine. On l'exclut via .gitignore et on ne partage que requirements.txt. Chaque collaborateur recrée son venv à partir de ce fichier.