Ceci est une ancienne révision du document !



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

Activation

Pour pouvoir commencer à travailler avec l'environnement virtuel, il faut l'activer :

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
 
# ou si vous disposez d'un fichier requirements.txt
pip install -r requirements.txt
Si vous ne souhaitez pas installer de gestionnaire comme Pixi ou uv (qui apportent aussi d'autres fonctionnalités), vous pouvez simplement ajouter des alias, par exemple :
~/.bash_aliases
# ce 1er alias crée et active l'environnement virtuel dans le répertoire courant :
alias pyvenv='python3 -m venv .venv && source .venv/bin/activate'
# si l'environnement virtuel existe déjà, on ne fait  que l'activer avec :
alias pyva='source .venv/bin/activate'

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/$

Voir aussi

  • Pixi gestionnaire de bibliothèques et de projet pour python et autres langages
  • uv gestionnaire de bibliothèques et de projet pour python, tuto (EN)

Contributeurs : bcag2