Seb-Info

Environnement en Python

Environnement en Python

🐍 Les environnements Python : venv vs conda

Cours synthétique pour BTS SIO – option SLAM

1) Pourquoi des environnements ?

Un environnement isole un projet : il possède sa propre version de Python et ses bibliothèques. Cela évite les conflits entre projets (versions différentes de Flask, Django, NumPy, etc.).

2) venv – l’outil intégré à Python

  • Inclus nativement (Python ≥ 3.3), léger et simple.
  • Ne gère pas l’installation/choix de la version de Python : il réutilise celle du système.
# Créer un environnement local "env"
python3 -m venv env

# Activer (macOS/Linux)
source env/bin/activate

# Activer (Windows PowerShell)
env\Scripts\Activate.ps1

# Désactiver
deactivate

À privilégier pour les projets SLAM classiques (APIs, web, scripts).

3) conda – environments + gestionnaire de paquets

  • Vient avec (Mini)conda/Anaconda. Gère la version de Python et les paquets.
  • Adapté aux stacks lourdes (IA, data science, OpenCV, PyTorch…).
# Créer un env nommé "proj39" avec Python 3.9
conda create --name proj39 python=3.9

# Activer / quitter
conda activate proj39
conda deactivate

# Installer un paquet
conda install flask
# (ou pip si besoin)
pip install flask

# Supprimer l'environnement
conda remove --name proj39 --all

4) Comparatif rapide

Critère venv conda
Installation Inclus avec Python Nécessite (Mini)conda/Anaconda
Gestion de Python (version) ❌ (reprend la version système) ✅ (ex.: python=3.10)
Gestion des paquets pip conda (et pip si besoin)
Poids / empreinte disque Léger Plus lourd
Cas d’usage typique Projets web / SLAM IA / Data science / libs natives

5) Bonnes pratiques (examen 👇)

  • Un environnement par projet pour éviter les conflits.
  • Exporter les dépendances :
    # venv / pip
    pip freeze > requirements.txt
    pip install -r requirements.txt
    
    # conda
    conda env export -n monenv > environment.yml
    conda env create -f environment.yml -n monenv2
  • Ne jamais versionner l’environnement : ajouter au .gitignore :
    # venv
    env/
    venv/
    
    # conda
    *.conda
    *.lock
    .conda/
    

Ce contenu est réservé aux membres du site. Si vous êtes un utilisateur existant, veuillez vous connecter. Les nouveaux utilisateurs peuvent s'inscrire ci-dessous.

Connexion pour les utilisateurs enregistrés
   
Nouvel utilisateur ?
*Champ requis
Powered by WP-Members