## page was renamed from virtualenv <> == 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 [[Python/buildout|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 [[http://pypi.python.org/pypi/virtualenvwrapper/ | VirtualEnvWrapper]] qui ajoutent des commandes pour faciliter la création d'environnements et le passage d'un environnement à l'autre.