Retour au cours

environnements virtuels : venv, structure de projet

dans cette leçon, vous mettez en place un environnement isolé et une structure de projet robuste. objectif : pouvoir exécuter et tester proprement, sans “ça marche chez moi”.

objectifs

  • créer et activer un venv
  • mettre à jour pip et installer des dépendances
  • structurer un projet src/ + tests/
  • exécuter un module avec python -m

explication détaillée

un environnement virtuel isole les paquets d’un projet. vous évitez les conflits et gardez des versions reproductibles. structure conseillée :

projet/
  ├─ src/
  │   └─ app.py
  ├─ tests/
  │   └─ test_app.py
  ├─ README.md
  └─ requirements.txt

python -m résout les imports selon les packages, utile si vous mettez votre code dans src/.

exemples exécutables

# créer et activer un venv
python -m venv .venv
# macos/linux
source .venv/bin/activate
# windows powershell
# .\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
# squelette de projet
mkdir -p src tests
printf "def run():\n    print('ok')\n\nif __name__ == '__main__':\n    run()\n" > src/app.py
python -m src.app
# installer une dépendance et la figer
pip install requests
pip freeze > requirements.txt
# désactiver le venv au besoin
deactivate

bonnes pratiques

  • un venv par projet
  • gardez requirements.txt à jour et versionné
  • utilisez python -m pkg.module pour lancer depuis src/ et éviter les soucis d’imports
  • activez l’interpréteur .venv dans l’éditeur

pièges courants

  • installer globalement au lieu du venv → versions incohérentes
  • oublier d’activer le venv → ModuleNotFoundError
  • lancer python app.py alors que les imports supposent un package → préférez python -m

exercices

  1. créer un venv, installer rich et afficher du texte coloré.
  2. générer requirements.txt, recréer un venv vierge et pip install -r requirements.txt.
  3. déplacer votre code dans src/ et exécuter python -m src.app.