Skip to content

Latest commit

 

History

History
184 lines (115 loc) · 5.9 KB

File metadata and controls

184 lines (115 loc) · 5.9 KB

Python - Création d’un environnement virtuel avec venv

Quand on travaille sur plusieurs projets Python, un environnement virtuel permet d’isoler les dépendances de votre projet du reste de votre système. En créant un environnement dédié, vous vous assurez que les bibliothèques installées pour ce projet n’affectent pas les autres (et vice-versa). Python fournit pour cela le module venv qui permet de créer un environnement virtuel dans un dossier donné.


Installation de venv sous Linux

sudo apt install python3-venv -y

Si vous utilisez une sandbox Docker créée à partie du cours "Configuration d’une sandbox Ubuntu avec Docker", sudo ne devra pas être utilisé dans la commande.


Création du projet test

  1. Ouvrez votre terminal.

  2. Créez un nouveau répertoire pour le projet :

mkdir holbertonschool-test_github_api
  1. Accédez au répertoire nouvellement créé :
cd holbertonschool-test_github_api

Création de l’environnement virtuel

python3 -m venv venv

Cette commande crée un dossier venv/ contenant une copie de l’interpréteur Python et de pip.
Le -m indique que l’on exécute le module nommé venv et pas un fichier script de base.

Il est courant de nommer le dossier de l’environnement virtuel .venv (avec un point au début du nom). Cette convention a deux avantages : le dossier est caché par défaut dans l’explorateur de fichiers, et il est automatiquement ignoré par certains outils ou frameworks. Dans notre exemple, nous ne mettons pas le point pour vous permettre d'accéder facilement au dossier et de l'explorer si la curiosité vous en dit.


Activation de l’environnement

Linux / macOS :

source venv/bin/activate

Windows (PowerShell) :

.\venv\Scripts\Activate.ps1

Une fois activé, vous verrez le préfixe (venv) devant votre invite de commande : cela confirme que vous travaillez dans l’environnement isolé.

Après création de l’environnement, il est souvent utile de mettre à jour pip :

pip install --upgrade pip

Ne versionnez pas le dossier d’environnement virtuel venv dans votre dépôt Git. Pensez à ajouter le nom de ce dossier (par exemple venv/ ou .venv/) dans le fichier .gitignore de votre projet afin qu’il soit ignoré par le contrôle de version. Vous pouvez notamment utiliser le fichier .gitignore officiel pour Python proposé par GitHub (qui inclut déjà l’exclusion de .venv) comme point de départ.


Installation d'un package

Dans notre exemple, nous allons tester la réponse de l'API GitHub, pour ce faire nous avons besoin du module requests:

pip install requests

Ici, le package requests sera disponible uniquement dans l'environnement venv.


Test simple

  1. Créez un fichier test_github_api.py à la racine du projet avec ce contenu :
import requests

try:
    response = requests.get("https://api.github.com")

    if response.status_code == 200:
        print("✅ Succès : l'API GitHub a répondu correctement.")
    elif response.status_code == 403:
        print("⚠️ Erreur 403 : accès interdit. Vérifiez si vous êtes bloqué ou rate limité.")
    elif response.status_code == 404:
        print("❌ Erreur 404 : ressource introuvable.")
    elif response.status_code >= 500:
        print(f"🚨 Erreur serveur ({response.status_code}) : GitHub rencontre un problème.")
    else:
        print(f"ℹ️ Réponse inattendue : code {response.status_code}")

except requests.exceptions.RequestException as e:
    print(f"❌ Une erreur de connexion est survenue : {e}")
  1. Exécutez-le :
python test_github_api.py

Vous devriez voir le message correspondant au statut de l'API GitHub dans votre Terminal.


Congeler les dépendances

Après avoir installé les bibliothèques nécessaires dans votre environnement virtuel, il est recommandé de congeler les dépendances de votre projet. Cela signifie générer un fichier listant précisément les paquets installés et leurs versions, afin de pouvoir recréer le même environnement ailleurs. Par convention, ce fichier est nommé requirements.txt.

pip freeze > requirements.txt

Désactivation de l’environnement

Quand vous avez fini de travailler sur votre projet :

deactivate

Le prompt revient à la normale, Python et pip pointent de nouveau vers votre installation globale.


Recréer l’environnement ailleurs

Sur une autre machine ou après avoir supprimé le dossier venv du répertoire de test (exemple ci-dessous) :

rm -r venv

Si vous tentez de relancer votre script (test_github_api.py) sans recréer l’environnement, une erreur devrait se produire, car le module requests ne sera plus accessible.

python3 -m venv venv
source venv/bin/activate

Ou .\venv\Scripts\Activate.ps1 sous Windows.

pip install -r requirements.txt

Cela installera l’ensemble des packages listés dans le fichier requirements.txt (dans notre exemple, le package requests), et le script (test_github_api.py) devrait fonctionner de nouveau.


Conclusion

L’utilisation de venv vous permet :

  • D’isoler vos projets.
  • D’éviter les conflits de versions.
  • De garantir que chaque collaborateur ou serveur reproduise exactement le même environnement.

Utilisez toujours un environnement virtuel pour vos projets Python, même pour les plus petits scripts. Cela garantit un environnement propre, et vous évite des conflits avec d’autres projets ou bibliothèques installées globalement.

C’est une étape essentielle pour un développement Python professionnel et fiable.