Python et les environnements virtuels
Il est souvent utile de mettre en place un environnement virtuel dans lequel va être installés les modules utilisés. Cela évite de les installé dans le système d'exploitation lui-même, avec les problèmes de version que ça peut engendrer.
Ce tutoriel se base sur le fait d'utiliser au moins la version 3.3 de Python qui inclue les fonctionnalités d'environnements virtuels
Dans le terminal, on peut commencer par voir les modules installés indépendamment de tout environnement virtuel :
pip list
La liste peut être assez longue, surtout si vous aviez déjà installé des modules !
Création d'un environnement virtuel
python -m venv env-virtuel1 # Cela crée un dossier env-virtuel1 dans le dossier courant ls env-virtuel1 # doit nous retourner bin include lib lib64 pyvenv.cfg # avec lib64 qui est un lien vers lib/
Pour plus de lisibilité, le répertoire contenant les fichiers pour l'environnement virtuel est ici nommé env-virtuel1.
Dans de nombreux exemple ou mécanisme d'outils/ide, on trouvera le nom .venv en répertoire caché, nom que l'on peut ajouter au fichier .gitignore si on versionne notre projet avec git
Dans de nombreux exemple ou mécanisme d'outils/ide, on trouvera le nom .venv en répertoire caché, nom que l'on peut ajouter au fichier .gitignore si on versionne notre projet avec git
Activation
source env-virtuel1/bin/activate
N’oubliez pas le /bin/ dans le chemin, sinon vous aurez un message Aucun fichier ou dossier de ce nom
Votre invité de commande doit changer et devenir :
(env-virtuel1) mon-nom2user@mon-nom2pc:~/mon/chemin/$
Exécuter :
pip list # doit vous retourner (la version va évidemment changer dans le temps) Package Version ------- ------- pip 24.0
Vous pouvez maintenant ajouter les modules dont vous avez besoin et travailler avec, par exemple, ajout de numpy :
pip install numpy # et pip list # qui doit maintenant retourner : Package Version ------- ------- numpy 2.3.3 pip 24.0
Désactivation
Exécuter simplement la commande deactivate
(env-virtuel1) mon-nom2user@mon-nom2pc:~/mon/chemin/$ deactivate # le préfixe d’invité de commande doit revenir à mon-nom2user@mon-nom2pc:~/mon/chemin/$
