Créer un venv Python

De Codedev Wiki
Sauter à la navigation Sauter à la recherche

Introduction

Un venv ou Virtual Environment, c'est un environnement virtuel Python. Le principe, c'est de séparer les différents packages entre les applications Python. Chaque projet, dispose de ses propres packages voir des versions différentes d'un package. Si on installe ces derniers de manière global, on se retrouve avec une seule et unique version d'un package et des conflits entre certains. L'environnement virtuel, permet d'éviter ce problème.

Créer le venv

Pour créer un venv, il nous faut taper la commande suivante :

 python3 -m venv venv

Python va alors créer un dossier appelé venv, à l'endroit où nous sommes, par exemple : /home/user/prog/python. Dans ce dossier, il y a créer notre environnement virtuel.

Activation et désactivation

Une fois qu'il a créé notre venv, il nous faut l'activer pour pouvoir travailler avec. En effet, toute les commandes python sont encore globales et non spécifique à notre environnement virtuel. Le fonctionnement de ce côté-là, est différent, que l'on soit sous Windows ou sous Linux.

Sous Linux, nous utilisons la commande source, qui n'existe pas sous windows. Le dossier venv, convient un dossier bin, contenant deux fichiers qui nous sont très importants :

  • activate sous Linux ou activate.bat sous Windows (nous y retrouvons aussi activate.ps1 dans le cas de l'utilisation du Powershell Windows)
  • deactivate sous Linux ou deactivate.bat sous Windows (deactivate.ps1 pour le Powershell Windows)

Sous Linux, nous taperons donc la commande suivante depuis la racine de notre projet, où se trouve le dossier venv :

source venv/bin/activate

Sous windows, nous aurons plutôt :

venv\bin\activate.bat

ou

venv\bin\activate.ps1

Le deuxième cas, concerne ceux qui n'utilisent pas la ligne de commande windows (cmd.exe), mais le Powershell.


Si vous regardez maintenant dans ce fameux dossier bin, on y retrouve d'autres fichiers :

  • python
  • python3
  • python3.9 (ou 3.8 si vous avez la version 3.8 de python)
  • pip
  • pip3
  • pip3.9

Attention, python, correspond parfois à la version 2 de Python, si cette dernière est installée, sinon chacune des trois donne le même résultat. Pareil pour pip, si Python2 est installé, pip concerne la version 2 de Python et non la version 3. Dans un cas classique, d'un environnement Linux récent, vous ne devriez pas avoir la version 2 mais que la version 3.9 à l'heure actuelle, donc chacun de ces programmes python et pip sont équivalents.

Nous verrons plus tard l'usage de pip, sachez qu'on peut l'utiliser au travers de python ou tout seul (en standalone).

Pour désactiver l'environnement virtuel, on tape :

deactivate


Conclusion

Nous avons vu comment créer un environnement virtuel Python. Ce dernier va nous servir dans absolument tous nos projets, il est donc important de bien comprendre son fonctionnement. Rappelez-vous simplement, que toute commande python ou pip utilisée, quand l'environnement virtuel est activé, reste interne à ce dernier et correspond à ce dernier uniquement.