Sommaire
Présentation
VirtualEnv permet de créer un environnement cloisonné Python.
L'intérêt réside dans le fait d'avoir :
- des versions différentes de Python qui peuvent cohabiter
- des environnements spéciaux pour un (ou plusieurs) projet(s)
Par exemple, ma machine utilise un Python 2.6, et je souhaite faire la maintenance d'un projet Python 2.5.
Je vais me créer un environnement cloisonné en Python 2.5. Dans cet environnement, le Python de base sera donc Python 2.5
Si je veux à présent tester l'installation de différents egg, la commande easy_install me les installera dans cet environnement. De cette façon, je ne pollue par le site-packages Python 2.5 de mon système. (Cependant, les eggs déjà présents dans ce répertoire restent toujours accessibles.)
VirtualEnv
Installer virtualenv
sudo aptitude install python-virtualenv
Créer un environnement
- Créer un environnement classique
virtualenv auf
- Créer un environnement en spécifiant une version de Python
virtualenv --python=python2.5 auf_2.5
Activer un environnement
source auf_2.5/bin/activate
Cette commande a pour effet de charger votre environnement, et vous pouvez voir dans votre interpréteur qu'il est préfixé par auf_2.5
(auf_2.5)olivier.larcheveque@u-ol:~$
Maintenant, vous pouvez utiliser le easy_install pour tester de nouveaux paquets. Il sera installé dans le répertoire du nouvel environnement :
auf_2.5/lib/python2.5/site-packages
Imaginer que vous avez relancer un projet avec buildout, le bootstrap va télécharger toutes les dépendances en fonction de la version de Python de l'environnement.
Sortir de l'environnent
Taper simplement sur le prompt :
deactivate
VirtualEnvWrapper
Dès qu'on utilise intensivement virtualenv, il est intéressant d'installer VirtualEnvWrapper qui ajoutent des commandes pour faciliter la création d'environnements et le passage d'un environnement à l'autre.