3.2 · pip, environnements virtuels (venv) & gestion de dépendances

Niveau 3 · Python intermédiaire

3.2pip, environnements virtuels (venv) & gestion de dépendances

Objectif : isoler les projets avec venv et gérer requirements.txt.
Temps estimé : 14 min

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.
Vérifiez votre compréhension

Pourquoi utiliser un environnement virtuel (venv) par projet ?

pip, environnements virtuels (venv) & gestion de dépendances
Vidéo hébergée sur YouTube — ouvrir dans un nouvel onglet ↗
Corey Schafer — « Virtual Environments / pip »
Cliquer pour voir les résultats à jour ↗

En pratique — Isoler un projet avec venv et pip

  1. Dans un dossier de projet, créez un environnement : « python -m venv .venv », puis activez-le (Windows : .venv\Scripts\activate).
  2. Installez une bibliothèque : « pip install requests ». Vérifiez avec « pip list » qu'elle est dans CE venv, pas en global.
  3. Figez les dépendances : « pip freeze > requirements.txt ». Ouvrez le fichier et observez les versions épinglées.
  4. Désactivez (deactivate), supprimez le venv, recréez-en un et réinstallez tout avec « pip install -r requirements.txt » : reproductibilité validée.
Vous isolez chaque projet dans son venv et gérez ses dépendances avec pip + requirements.txt : la méthode de travail professionnelle.

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.

Autres ressources