Mon Labo Python

Créer un environnement virtuel python pour mieux organiser ses codes

Créer un environnement virtuel python pour mieux organiser ses codes

Il est presque minuit à Clermont-Ferrand, et je suis toujours là, à ma table de cuisine, avec ma tisane à la verveine qui est devenue complètement froide. Mon vieil ordinateur portable fait un bruit de moteur d’avion — le ronronnement du ventilateur dans le silence total de la maison est presque hypnotisant, mais pas dans le bon sens.

Je viens de passer une heure à essayer de comprendre pourquoi mon petit script de météo, que j’avais mis tant de mal à faire fonctionner, a soudainement décidé de rendre l’âme. Et le pire ? Il a entraîné dans sa chute mon programme de recettes de cuisine. C’est comme si j’avais essayé de ranger des épices dans mon placard et que tout s’était écroulé sur la farine. Tout est mélangé, plus rien ne marche, et je sens les larmes de frustration monter.

Le grand bazar dans mon placard numérique

Au début de l’hiver dernier, quand j’ai commencé à bidouiller avec le langage Python, j’installais tout n’importe comment. Je téléchargeais des outils, des bibliothèques, des petits bouts de code à droite à gauche, et je mettais tout dans le même panier. Dans ma tête, mon ordinateur était une boîte magique où tout s’organisait tout seul. Quelle erreur de débutante !

Le problème, c’est que chaque projet a ses propres besoins. Mon script météo utilisait une version d’un module, et mon programme de recettes en voulait une autre. En installant la seconde, j’ai écrasé la première sans le savoir. C’est exactement comme si j’essayais de suivre une recette de gâteau qui demande du beurre mou, mais que mon frigo ne savait gérer que le beurre glacé : à un moment, ça coince. J'ai réalisé que mon système principal était devenu un placard à balais où l'on ne retrouve plus rien, une sorte de décharge à ciel ouvert pour mes expérimentations ratées.

Écran d'ordinateur montrant des erreurs de bibliothèques Python entremêlées

La découverte des bulles de protection (ou environnements virtuels)

C’est un mardi soir pluvieux en mars que j’ai entendu parler pour la première fois des « environnements virtuels ». Un collègue m’avait dit : « Pauline, arrête de tout casser, crée des venv ! ». Sur le coup, j’ai cru que c’était une nouvelle sorte de virus. En fait, l’idée est toute simple : au lieu de tout installer au milieu de votre ordinateur, on crée une petite bulle isolée pour chaque projet. Une sorte de studio indépendant où l’on peut faire sa tambouille sans salir le reste de la maison.

En creusant un peu (entre deux bâillements), j’ai appris que ce système n’est pas nouveau. C’est la PEP 405 — une sorte de grand plan d’amélioration — qui a défini tout ça. Et c’est depuis la version 3.3 du langage Python que l’outil est intégré directement. Avant, apparemment, c’était encore plus la galère. Ça me rassure un peu de me dire que même les pros ont dû passer par là pour mettre de l’ordre dans leur travail.

Pour moi, c'est devenu une étape de survie. C’est un peu comme mes astuces pour déboguer son code python sans perdre patience le soir : si on ne prépare pas le terrain, on finit par passer ses nuits à pleurer devant des messages d'erreur rouges.

Ma première bagarre avec le terminal

Passer de la théorie à la pratique, c’est là que le bât blesse. Au début du mois de juin, je me suis lancée. J’ai ouvert mon terminal (cette fenêtre noire qui me fait toujours un peu peur) et j’ai tapé la commande magique : python -m venv mon_environnement. Sur le papier, ça a l’air facile. En réalité, j’ai fait des fautes de frappe, j’ai oublié des espaces, et j’ai même cru que j’avais effacé mes photos de vacances parce qu’un dossier bizarre venait d’apparaître.

Ma plus grosse erreur ? Une histoire de système d'exploitation. Un soir, j'ai essayé de taper source venv/bin/activate alors que je suis sur Windows. Le terminal m'a répondu un truc du genre « commande inconnue » d'un ton très méprisant. J'ai mis vingt minutes à comprendre que sur Windows, il fallait taper .\venv\Scripts\activate. C'est le genre de petit détail qui vous donne envie de fermer l'ordinateur et d'aller dormir pendant trois jours.

Notes manuscrites sur la commande python venv dans un carnet de bord

Mais quand ça a enfin marché... Quel soulagement ! À l'intérieur de ce dossier, Python crée un fichier de configuration tout discret qui s'appelle pyvenv.cfg. C'est un peu le cœur du système, celui qui dit à l'ordinateur : « Attention, ici on utilise ces versions-là et pas celles du voisin ». C'est là que j'ai compris pourquoi importer des modules python change tout quand on débute enfin, car on peut enfin le faire proprement, sans peur de tout faire exploser.

Le déclic : ma petite parenthèse de bonheur

Le vrai moment de victoire, c'est quand j'ai vu apparaître le petit nom de mon environnement entre parenthèses au début de ma ligne de commande : (mon_environnement). À ce moment-là, j'ai eu l'impression d'avoir enfin dompté la bête. C'était la preuve visuelle que j'étais dans ma bulle protégée.

J’ai réalisé que je pouvais maintenant installer n’importe quoi, tester des trucs fous, et si ça ne marchait pas ? Je n’avais qu’à supprimer le dossier de l’environnement et recommencer. C’est comme si j’avais un plan de travail jetable : je peux renverser de la peinture partout, un coup d'éponge et tout disparaît sans laisser de trace sur ma table de cuisine.

Ces derniers jours, j'ai même commencé à être un peu plus organisée. Avant, je passais mon temps à faire du copier-coller pour ne pas perdre mes réglages. Maintenant, j'apprends doucement à créer des fonctions python pour arrêter de copier-coller, et le fait d'avoir un environnement propre m'aide énormément à y voir clair.

Terminal Python affichant l'activation réussie d'un environnement virtuel

Mon avis de débutante : faut-il en abuser ?

C'est là que je vais peut-être dire une bêtise par rapport à ce qu'on lit sur les forums de pros, mais tant pis. Après avoir passé des semaines à galérer avec ça, j'ai fini par me dire qu'il ne faut pas non plus en faire une obsession pour tout. Au début, je créais un environnement virtuel même pour faire un malheureux « Hello World » ou une petite addition. Franchement ? Ça alourdit tout le processus pour rien quand on débute vraiment.

Si vous faites juste un petit script de trois lignes pour manipuler une chaîne de caractères, s'embêter avec un environnement virtuel, c'est comme sortir la batterie de cuisine professionnelle pour faire chauffer un bol de lait. Ça rajoute une couche de complexité au débogage : on se demande si l'erreur vient du code ou de l'environnement mal activé. Pour les vrais débutants, je pense qu'il vaut mieux attendre d'avoir besoin d'installer un module externe (comme pandas ou requests) avant de se lancer dans la création de ces bulles.

Aujourd'hui, je me sens un peu plus sereine. Ma table de cuisine est toujours un peu encombrée, ma tisane est toujours froide, mais au moins, mon code est rangé. Je ne comprends toujours pas la moitié de ce que fait Python sous le capot, mais j'ai appris à construire mes propres petits enclos de sécurité. Et pour une autodidacte qui apprend entre la vaisselle et le dodo, c'est déjà une sacrée victoire.

" , j'en suis à me demander quel sera le prochain truc qui va me faire perdre mes cheveux, mais pour ce soir, je ferme le capot de l'ordinateur avec le sourire.

Articles connexes