Comment creer et utiliser un environnement virtuel Python avec virtualenv et virtualenvwrapper

Guide complet pour creer et gerer des environnements Python isoles avec virtualenv et virtualenvwrapper. Apprenez a isoler vos projets, gerer les dependances et eviter les conflits de versions.

Mahmoud DEVO
Mahmoud DEVO
December 27, 2025 7 min read
Comment creer et utiliser un environnement virtuel Python avec virtualenv et virtualenvwrapper

Introduction

La gestion des dependances est l’un des defis majeurs du developpement Python. Imaginez travailler sur deux projets : l’un necessite Django 3.2 et l’autre Django 4.0. Sans isolation, ces exigences conflictuelles rendent le developpement pratiquement impossible. C’est precisement le probleme que resolvent les environnements virtuels.

Les environnements virtuels creent des espaces completement isoles pour chaque projet, avec leurs propres interpreteurs Python et bibliotheques. Dans cet article, nous explorerons en profondeur virtualenv et virtualenvwrapper, deux outils essentiels pour tout developpeur Python serieux.

Pourquoi utiliser des environnements virtuels ?

Les environnements virtuels offrent plusieurs avantages cruciaux :

  • Isolation des dependances : Chaque projet possede ses propres bibliotheques, evitant les conflits de versions
  • Reproductibilite : Un fichier requirements.txt permet de recreer exactement le meme environnement
  • Proprete du systeme : Pas de pollution de l’installation Python globale
  • Tests de compatibilite : Testez facilement votre code avec differentes versions de bibliotheques
  • Deploiement simplifie : Les dependances sont clairement definies et portables

Installation de virtualenv

Avant de commencer, assurez-vous d’avoir Python et pip installes. Verifiez avec :

python --version
pip --version

Installez ensuite virtualenv via pip :

pip install virtualenv

Pour verifier l’installation :

virtualenv --version

Si vous rencontrez des problemes de permission sur Linux/macOS, utilisez l’option --user plutot que sudo :

pip install --user virtualenv

Creation d’un environnement virtuel avec virtualenv

Creer un nouvel environnement

Naviguez vers le dossier de votre projet et creez l’environnement :

mkdir mon_projet
cd mon_projet
virtualenv venv

Cette commande cree un dossier venv contenant une copie isolee de Python.

Specifier une version de Python

Pour utiliser une version specifique de Python :

virtualenv -p python3.11 venv
# ou avec le chemin complet
virtualenv -p /usr/bin/python3.11 venv

Activer l’environnement virtuel

L’activation varie selon votre systeme d’exploitation :

Linux/macOS :

source venv/bin/activate

Windows (PowerShell) :

.\venv\Scripts\Activate.ps1

Windows (CMD) :

venv\Scripts\activate.bat

Une fois active, votre prompt affiche le nom de l’environnement :

(venv) utilisateur@machine:~/mon_projet$

Desactiver l’environnement

Pour quitter l’environnement virtuel :

deactivate

Installation de packages dans l’environnement virtuel

Avec l’environnement active, installez vos dependances :

pip install flask requests pandas

Les packages sont installes uniquement dans l’environnement virtuel, pas globalement.

Gerer les dependances avec requirements.txt

Exportez les dependances actuelles :

pip freeze > requirements.txt

Reinstallez les dependances sur une autre machine :

pip install -r requirements.txt

Exemple de fichier requirements.txt

flask==2.3.0
requests==2.31.0
pandas==2.0.3
numpy==1.24.0

Utilisation de virtualenvwrapper

virtualenvwrapper simplifie la gestion de multiples environnements virtuels avec des commandes pratiques.

Installation

pip install virtualenvwrapper

Sur Windows, installez plutot :

pip install virtualenvwrapper-win

Configuration (Linux/macOS)

Ajoutez ces lignes a votre fichier ~/.bashrc ou ~/.zshrc :

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/projects
source /usr/local/bin/virtualenvwrapper.sh

Rechargez la configuration :

source ~/.bashrc

Commandes principales de virtualenvwrapper

# Creer un nouvel environnement
mkvirtualenv mon_env

# Creer avec une version Python specifique
mkvirtualenv -p python3.11 mon_env

# Lister tous les environnements
lsvirtualenv

# Activer un environnement existant
workon mon_env

# Desactiver l'environnement actuel
deactivate

# Supprimer un environnement
rmvirtualenv mon_env

# Naviguer vers le dossier de l'environnement
cdvirtualenv

# Lister les packages installes
lssitepackages

# Copier un environnement
cpvirtualenv source_env dest_env

Exemple de workflow complet

# Creer un projet avec son environnement
mkvirtualenv projet_api
pip install fastapi uvicorn sqlalchemy

# Travailler sur un autre projet
mkvirtualenv projet_web
pip install django celery redis

# Basculer entre les projets
workon projet_api
# ... travailler sur l'API ...
workon projet_web
# ... travailler sur le site web ...

Bonnes Pratiques

1. Nommez vos environnements de maniere coherente

Utilisez des noms descriptifs et un schema coherent :

mkvirtualenv projet_api_dev
mkvirtualenv projet_api_test
mkvirtualenv projet_api_prod

2. Ignorez le dossier venv dans Git

Ajoutez a votre .gitignore :

venv/
.venv/
env/
.env/

3. Utilisez des fichiers requirements separes

requirements/
    base.txt       # Dependances communes
    dev.txt        # Dependances developpement
    prod.txt       # Dependances production
    test.txt       # Dependances tests

Exemple de dev.txt :

-r base.txt
pytest==7.4.0
black==23.7.0
flake8==6.1.0

4. Verifiez regulierement les mises a jour

pip list --outdated
pip install --upgrade nom_du_package

5. Documentez les versions Python requises

Ajoutez dans votre README :

## Prerequis
- Python 3.9 ou superieur
- pip 21.0 ou superieur

Pieges Courants

1. Oublier d’activer l’environnement

Si pip install installe globalement, verifiez que l’environnement est active :

which python
# Doit afficher le chemin vers venv/bin/python

2. Conflits entre venv et virtualenv

Python 3.3+ inclut venv. N’utilisez pas les deux sur le meme projet :

# Utilisez soit venv (integre)
python -m venv venv

# Soit virtualenv (plus de fonctionnalites)
virtualenv venv

3. Problemes de PATH sur Windows

Si les commandes ne fonctionnent pas, verifiez que Scripts est dans le PATH :

$env:Path += ";$env:USERPROFILE\.virtualenvs\mon_env\Scripts"

4. Environnement corrompu

En cas de probleme, recreez l’environnement :

deactivate
rm -rf venv
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt

5. Oublier de mettre a jour requirements.txt

Apres chaque installation, mettez a jour le fichier :

pip install nouveau_package
pip freeze > requirements.txt

Alternatives modernes

Bien que virtualenv reste populaire, d’autres outils meritent votre attention :

OutilAvantages
venvIntegre a Python 3.3+, pas d’installation requise
pipenvCombine pip et virtualenv, fichier Pipfile
poetryGestion de dependances moderne, publication simplifiee
condaIdeal pour data science, gere aussi les dependances systeme

Conclusion

Les environnements virtuels sont indispensables pour tout projet Python professionnel. Ils garantissent :

  • L’isolation entre vos differents projets
  • La reproductibilite de vos environnements de developpement
  • La proprete de votre systeme Python global
  • La collaboration facilitee avec d’autres developpeurs

virtualenv reste l’outil de reference, tandis que virtualenvwrapper ajoute une couche de confort pour gerer plusieurs projets simultanement. Adoptez ces outils des maintenant et dites adieu aux conflits de dependances.

N’oubliez pas : un pip freeze > requirements.txt regulier et un .gitignore bien configure sont vos meilleurs allies pour un workflow Python professionnel et reproductible.

Advertisement

In-Article Ad

Dev Mode

Share this article

Mahmoud DEVO

Mahmoud DEVO

Senior Full-Stack Developer

I'm a passionate full-stack developer with 10+ years of experience building scalable web applications. I write about Vue.js, Node.js, PostgreSQL, and modern DevOps practices.

Enjoyed this article?

Subscribe to get more tech content delivered to your inbox.

Related Articles