Pansebete

Une note autocollante repositionable sur une tête de bois

Python et les environnements virtuels

25/06/2013 ⋅ Aucun commentaire

Par bendia

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/

Aucun commentaire