Reconstruire le venv de python pour corriger les problème de dépendances

Récemment j’ai rouvert mon Pycharm après quasiment 2 ans d’inactivité, et en plus j’ai mis à jour la version de Pycharm de la version 2020 à 2024. Toutes les dépendances ont sauté, impossible d’exécuter les programme, il y avait aussi un problème de chemin d’interpréteur auquel je ne faisait pas attention. Désinstaller et réinstaller les module ne résouds pas le problème, il faut détruire et reconstruire le venv, qui est essentiellement un environnement de gestion des dépendances.

Qu’est ce qu’un environnement virtuel?

C’est un répertoire qui contient les librairies que votre projet va utiliser. Cet environnement est spécifique à votre projet. Il contient des exécutables pour les opérations de maintenance et utilitaires. Si vous deviez reproduire le projet sur un autre ordinateur, il faut faire un fichier requirements.txt qui contiendra les références à toutes les librairie installées, en NodeJS on a package.json, en PHP on a composer.json.

Détruire l’environnement virtuel

Il suffit simplement d’effacer le répertoire venv.

Reconstruire l’environnement venv

Mettez vous dans le répertoire projet

# windows
python -m venv venv

Linux/MacOs
python3 -m venv venv

Opération sur les package et l’environnement virtuel

Cela peut être un peu compliqué à gérer surtout quand vous avez des problème de charge de paquets (ou dépendances). Il faut savoir qu’il y a plusieurs installations de Python, dans le venv, dans un coin de votre disque dur, etc.

Localisation des paquets globaux

pip list -v  # pour lister 

Activation de l’environnement virtuel

Il faut exécuter un fichier activate.bat (windows) qui se trouve dans le répertoire venv/scripts

tapez activate.bat ou activate  sous windows

dans Linux
source venv/bin/activate

une fois activé, le prompt est visible
(venv) $

Si l’environnement n’est pas activé, vous ne pourrez pas accéder à pip indirectement, il faudra indiquer le chemin jusqu’à lui.

Lister les package dans le fichier requirements

pip freeze > requirements

Installer ou mettre à jour les paquets depuis le fichier requirements.txt

pip install -r requirements
Retour en haut