Python et les environnements virtuels
25/06/2013 ⋅ Aucun commentaire
Chaque projet python peut nécessiter des modules ayant des versions différentes. Afin d'isoler ces projets pour éviter les conflits entre versions, il existe les environnements virtuels.
Installation
Comme d'habitude, toujours très simplement sous Debian. Et on peut même ajouter pip qui permet d'installer des modules sans passer par apt, ce qui est bien pratique lorsqu'on veut utiliser des versions différentes de ces modules
apt-get install python-virtualenv python-pip
Utilisation
Créer l'environnement
Il suffit de taper
virtualenv /path/vers/projet/env_nom_du_projet
Virtualenv créé alors le dossier env_nom_du_projet et y installe Python. Notez (attention, interro écrite la semaine prochaine) qu'on peut choisir la version de Python à utiliser grâce à l'option -p
virtualenv /path/vers/projet/env_nom_du_projet -p /usr/bin/ma-version-de-python-que-je-veux-utilser
On peut choisir d'utiliser les modules du système ou d'isoler complètement l'environnement. Pour cela, utiliser les options
- --no-site-packages pour isoler l'environnement du système. C'est l'option par défaut pour Debian Wheezy
- --site-packages pour utiliser les modules du système
Activer l'environnement
Rien de plus simple. Supposons que le dossier courant soit ~/projets et que votre projet se situe dans ~/projets/mon-projet
source mon-projet/bin/activate
Vous obtenez alors
(mon-projet)vous@chez-vous:~/projets
Installer des modules avec pip
Pip ressemble beaucoup à apt.
pip install mon-module
Pour installer une version spécifique
pip install mon-moduel==2.0
Pour mettre à jour
pip install mon-module --upgrade
On peut également lister tous les modules installés avec
pip freeze
Il est donc très facile de cloner un environnement
pip freeze > mon-env.txt
Pour sauvegarder et pour réinstaller.
pip install -r mon-env.txt
Source : http://sametmax.com/votre-python-aime-les-pip/et http://sametmax.com/les-environnement-virtuels-python-virtualenv-et-virtualenvwrapper/