DevToolBoxGRATUIT
Blog

Environnements Virtuels Python: venv, conda, pipenv et poetry

10 minpar DevToolBox

Les environnements virtuels sont la pierre angulaire de la gestion des dépendances Python. Ce guide couvre les quatre outils majeurs : venv, conda, pipenv et Poetry.

Pourquoi les environnements virtuels sont importants

Chaque projet Python a ses propres dépendances avec des exigences de version spécifiques. Les environnements virtuels résolvent cela en créant des installations Python isolées par projet.

venv : BibliothÚque standard intégrée

venv est inclus avec Python 3.3+ et est l'option la plus simple. Il crée un environnement virtuel léger sans installation supplémentaire.

# venv — Built-in (Python 3.3+)

# Create a virtual environment
python -m venv .venv

# Activate (macOS/Linux)
source .venv/bin/activate

# Activate (Windows)
.venv\Scripts\activate

# Install packages
pip install django requests

# Save dependencies
pip freeze > requirements.txt

# Install from requirements.txt
pip install -r requirements.txt

# Deactivate
deactivate

# Delete the environment
rm -rf .venv

# Recommended: add .venv to .gitignore
echo ".venv" >> .gitignore

Poetry : Gestion moderne des dépendances

Poetry est le gestionnaire de dépendances Python le plus moderne. Il gÚre les environnements virtuels, la résolution des dépendances, la construction et la publication.

# Poetry — Modern Dependency Management (Recommended 2026)

# Install Poetry
curl -sSL https://install.python-poetry.org | python3 -

# Create a new project
poetry new my-project
cd my-project

# Add dependencies
poetry add django
poetry add --group dev pytest black ruff

# Install all dependencies (from poetry.lock)
poetry install

# Run commands in the virtual environment
poetry run python manage.py runserver
poetry run pytest

# Open a shell in the virtual environment
poetry shell

# Update dependencies
poetry update

# Export to requirements.txt (for compatibility)
poetry export -f requirements.txt --output requirements.txt

# Build and publish a package
poetry build
poetry publish

# Show dependency tree
poetry show --tree

# pyproject.toml (auto-generated)
# [tool.poetry]
# name = "my-project"
# version = "0.1.0"
# description = ""
# [tool.poetry.dependencies]
# python = "^>=3.11"
# django = "^>=5.0"
# [tool.poetry.group.dev.dependencies]
# pytest = "^>=8.0"

conda : Puissance pour la data science

conda est un gestionnaire de paquets complet qui peut installer des dépendances non-Python. C'est le standard en data science et machine learning.

# conda — Data Science / ML (Anaconda/Miniconda)

# Install Miniconda (minimal)
# https://docs.conda.io/projects/miniconda/

# Create environment with specific Python version
conda create -n myproject python=3.11

# Activate environment
conda activate myproject

# Install packages (conda packages first)
conda install numpy pandas scikit-learn matplotlib

# Install packages not in conda
pip install some-pytorch-extension

# Export environment
conda env export > environment.yml

# Create from environment.yml
conda env create -f environment.yml

# List environments
conda env list

# Deactivate
conda deactivate

# Remove environment
conda env remove -n myproject

# Update conda
conda update conda

# environment.yml example:
# name: myproject
# channels:
#   - conda-forge
#   - defaults
# dependencies:
#   - python=3.11
#   - numpy=1.26
#   - pandas=2.1
#   - pip:
#     - custom-package==1.0

Comparaison des outils

Le choix du bon outil dépend de votre cas d'utilisation.

Tool        Installation  Lockfile  Non-Python  Build/Publish  Best For
------------------------------------------------------------------------
venv        Built-in      No        No          No             Simple scripts, learning
pipenv      pip install   Yes       No          No             Legacy projects
Poetry      curl install  Yes       No          Yes            General apps, libraries
conda       Installer     Yes       Yes         No             Data science, ML, AI
uv          cargo/pip     Yes       No          Yes            Fast pip replacement (2026)

Questions fréquentes

Quel outil d'environnement virtuel utiliser en 2026 ?

Pour le développement Python général et les apps web, utilisez Poetry. Pour la data science et ML, utilisez conda.

Quelle est la différence entre pip et conda ?

pip installe des paquets Python depuis PyPI uniquement. conda peut aussi installer des paquets non-Python.

Puis-je utiliser pip dans un environnement conda ?

Oui, mais avec précaution. Mélanger pip et conda peut parfois causer des conflits.

Comment partager mon environnement avec d'autres développeurs ?

Avec Poetry : committez pyproject.toml et poetry.lock. Avec pip : utilisez requirements.txt. Avec conda : environment.yml.

Outils associés

𝕏 Twitterin LinkedIn
Cet article vous a-t-il aidé ?

Restez informé

Recevez des astuces dev et les nouveaux outils chaque semaine.

Pas de spam. Désabonnez-vous à tout moment.

Essayez ces outils associés

{ }JSON Formatter

Articles connexes

Guide Complet Python Type Hints : mypy, Protocols et Validation Runtime

MaĂźtriser les annotations de type Python 2026 : mypy, Protocols et validation runtime avec Pydantic.

FastAPI Tutoriel : Créer des APIs REST avec Python en 2026

Tutoriel FastAPI complet : configuration, routage, validation, authentification et déploiement.

Décorateurs Python : Du Basique à l'Avancé

Maßtrisez les décorateurs Python : fonctions, classes, arguments, functools.wraps et patterns pratiques.