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
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 # ou mieux d'un pyproject.toml (PEP-0621 de 2020) pip install .
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
