Bonjour ! Dans la leçon précédente, nous avons installé votre environnement de développement avec Anaconda et Jupyter, et nous avons eu un premier aperçu de pip pour la gestion des paquets. Nous avions conclu en mentionnant l'importance de travailler dans des espaces isolés pour chaque projet.
Cette leçon se penche précisément sur ce sujet : les environnements virtuels. Vous allez découvrir pourquoi il est crucial de ne pas installer tous vos outils dans un seul et même endroit "global". Nous apprendrons à créer et gérer des environnements de projet spécifiques à l'aide de deux outils populaires : venv, qui est la norme intégrée à Python, et conda, l'outil puissant fourni avec Anaconda. À la fin de cette leçon, vous saurez comment organiser vos projets de manière propre et professionnelle, une compétence fondamentale pour tout développeur.
Le problème : les conflits de dépendances
Imaginez que vous travaillez sur deux projets d'apprentissage automatique.
- Projet A est un ancien projet qui nécessite
pandasversion 1.5. - Projet B est un nouveau projet qui utilise une fonctionnalité de
pandasversion 2.1.
Si vous installez vos paquets de manière globale, vous ne pouvez avoir qu'une seule version de pandas à la fois. Mettre à jour pour le Projet B risque de casser le Projet A, et vice-versa. C'est ce qu'on appelle un conflit de dépendances.
La solution est de créer un environnement virtuel pour chaque projet. Un environnement virtuel est un répertoire isolé qui contient sa propre version de l'interpréteur Python et son propre ensemble de bibliothèques (paquets). C'est comme avoir une boîte à outils distincte et sur mesure pour chaque projet.
L'image ci-dessous illustre parfaitement ce concept.

Méthode 1 : venv, l'outil standard de Python
Depuis Python 3.3, un module appelé venv est inclus dans la bibliothèque standard. C'est l'outil de base, léger et recommandé pour créer des environnements virtuels. Il ne gère que les paquets Python via pip, que vous connaissez déjà.
Le processus est simple :
- Créer un répertoire pour l'environnement.
- L'"activer" pour commencer à travailler dedans.
- Installer les paquets nécessaires avec
pip. - Le "désactiver" lorsque vous avez terminé.
La vidéo suivante, de la chaîne Tech With Tim, est un excellent tutoriel pour les débutants qui explique et montre tout ce processus.
Python Virtual Environments - Full Tutorial for Beginners
Cette vidéo explique clairement le concept des environnements virtuels et vous guide pas à pas dans l'utilisation de venv.
Regardez les sections suivantes pour bien comprendre les étapes clés : Qu'est-ce qu'un environnement virtuel ? : Comprenez le "pourquoi" derrière cette pratique. Création et activation : Apprenez les commandes pour créer, activer et désactiver un environnement. Notez bien la légère différence de commande entre Windows et Mac/Linux. Installation de paquets : Voyez comment pip fonctionne à l'intérieur d'un environnement activé et comment les paquets sont isolés.
Gérer les dépendances avec requirements.txt
Une pratique essentielle est de garder une liste de tous les paquets (et leurs versions exactes) dont votre projet a besoin. Cela permet à n'importe qui d'autre (ou à vous-même sur une autre machine) de recréer l'environnement à l'identique. Le fichier standard pour cela s'appelle requirements.txt.
La commande pip freeze > requirements.txt génère ce fichier à partir de l'environnement actif.
La commande pip install -r requirements.txt installe tous les paquets listés dans le fichier.
Continuons avec la vidéo pour voir comment cela fonctionne en pratique.
Python Virtual Environments - Full Tutorial for Beginners
Cette partie du tutoriel vous montre le flux de travail complet pour partager et recréer un environnement.
Regardez attentivement le segment sur les fichiers d'exigences. C'est une compétence cruciale pour la reproductibilité de vos projets.
Pour une référence textuelle rapide des commandes venv, vous pouvez consulter le guide suivant. Il résume bien les étapes.
How to Create Virtual Environments in Python - OneUptime
Cet article de OneUptime fournit un aide-mémoire très pratique pour les commandes venv.
Parcourez rapidement les sections suivantes pour mémoriser la syntaxe des commandes que vous venez de voir en vidéo : Création, activation et désactivation Installation de paquets Gestion des dépendances
Méthode 2 : conda, le couteau suisse de la science des données
Puisque vous avez installé Anaconda, vous avez accès à un outil de gestion d'environnements encore plus puissant : conda.
La principale différence est que conda peut gérer tout ce dont un projet a besoin :
- La version de Python elle-même (vous pouvez avoir un environnement avec Python 3.8 et un autre avec Python 3.10 sur la même machine).
- Les paquets Python (comme
pip). - Des paquets non-Python. C'est son grand avantage. Par exemple, pour l'apprentissage profond, vous aurez besoin de bibliothèques comme CUDA de NVIDIA pour utiliser votre carte graphique.
condapeut les installer et gérer leur compatibilité pour vous, ce quevenvne peut pas faire.
Le flux de travail avec conda est très similaire :
- Créer :
conda create --name mon_env python=3.9(notez qu'on spécifie la version de Python directement). - Activer :
conda activate mon_env. - Installer :
conda install numpy pandas. - Désactiver :
conda deactivate.
La vidéo suivante de Krish Naik montre comment créer des environnements, y compris avec conda.
Different Ways Of Creating Python Environment In Data Science Projects- Conda,Virtualenv,Python
Cette vidéo compare différentes méthodes. Nous allons nous concentrer sur la partie concernant conda, qui est la plus pertinente pour vous.
Regardez le segment qui montre comment créer un environnement avec conda. L'auteur souligne à juste titre que c'est une méthode très efficace, surtout pour la science des données, car elle gère facilement les versions de Python et les paquets complexes.
venv vs. conda : Lequel choisir ?
Vous connaissez maintenant deux méthodes. Laquelle devriez-vous utiliser ?
venvest excellent pour le développement Python général (par exemple, des applications web) où les dépendances sont uniquement des paquets Python. Il est léger et intégré à Python.condaest l'outil de choix pour la science des données et l'apprentissage automatique. Sa capacité à gérer des paquets complexes et non-Python simplifie grandement l'installation d'outils comme TensorFlow, PyTorch, et les bibliothèques GPU.
Le tableau ci-dessous, tiré d'un article comparatif, résume bien les différences.

Recommandation pour ce cours :
Étant donné que votre objectif est l'apprentissage automatique et que vous avez déjà installé Anaconda, je vous recommande fortement d'utiliser conda pour créer vos environnements. Cela vous évitera bien des maux de tête plus tard lorsque nous installerons des bibliothèques plus complexes comme PyTorch.
Votre flux de travail pratique
Voici les étapes que je vous suggère de suivre pour chaque nouveau mini-projet que nous ferons dans ce cours :
- Ouvrez le terminal de votre système (ou l'Anaconda Prompt sur Windows).
- Créez un nouveau dossier pour votre projet et naviguez à l'intérieur.
mkdir mon-projet-ml cd mon-projet-ml - Créez un nouvel environnement
conda. Donnons-lui un nom et spécifions une version de Python (par exemple, 3.9 est un choix stable et moderne).conda create --name projet-ml python=3.9condavous demandera de confirmer. Tapezyet Entrée. - Activez votre nouvel environnement.
Vous verrez que le nom de l'environnement apparaît au début de votre invite de commande.conda activate projet-ml - Installez les bibliothèques de base dont nous aurons besoin au début, ainsi que Jupyter.
conda install jupyter numpy pandas scikit-learn - Une fois dans l'environnement activé, lancez Jupyter Notebook.
jupyter notebook
Jupyter se lancera et n'aura accès qu'aux paquets installés dans cet environnement projet-ml, garantissant un espace de travail propre et isolé.
Conclusion
Vous avez ajouté une compétence essentielle à votre boîte à outils de développeur. Savoir isoler ses projets est la marque d'un travail rigoureux et professionnel.
Voici les points clés à retenir :
- Les environnements virtuels sont des dossiers isolés qui contiennent les dépendances spécifiques à un projet, évitant les conflits.
venvest l'outil standard de Python, léger et parfait pour les projets ne dépendant que de paquets Python.condaest un gestionnaire d'environnements et de paquets plus puissant, idéal pour la science des données car il gère aussi les dépendances non-Python et les versions de Python elles-mêmes.- Pour notre parcours en apprentissage automatique,
condaest l'outil recommandé.
Maintenant que nous savons comment préparer un espace de travail propre pour n'importe quel projet, nous sommes prêts à plonger dans le langage Python lui-même. Dans la prochaine leçon, nous commencerons par les briques de base de tout programme : les variables et les types de données.