L’une des difficultés majeures du développement aujourd’hui est la gestion des dépendances et en particulier pour Python l’isolement de l’environnement de développement.

Pour résoudre ce problème, nous allons utiliser :

  • pip: un remplaçant d’easy_install bien plus complet.
  • virtualenv: permet d’instancier des environnements python isolés.

Installation des outils de développement

Si ce n’est déjà fait, il faut installer un environnement de développement python classique:

$ aptitude install python-setuptools python-dev build-essential

Nous rajoutons ensuite pip et virtualenv qui sont présent dans les dépôts sous Ubuntu Lucid.

$ aptitude install python-pip python-virtualenv

Nous sommes maintenant prêt à instancier notre premier environnement.

Création d’un environnement isolé

Par habitude je stocke tous les sdks que j’installe manuellement dans /opt/sdks et j’utiliserai donc comme chemin d’installation pour mes environnements /opt/sdks/python.

$ virtualenv --no-site-packages myenv

L’option –no-site-packages permet d’avoir une installation de python nue, c’est à dire sans aucune des dépendances python ajoutées dans l’installation courante.

Utilisation en ligne de commande

Pour activer un environnement, il faut executer au choix:

# Depuis le repertoire /opt/sdks/python
$ source myenv/bin/activate

# Depuis n'importe quel répertoire
$ source /opt/sdks/python/myenv/bin/activate

Une fois l’environnement actif, le prompt du shell est préfixé par « (nom de l’environnement) ».

Pour désactiver l’environnement, il suffit d’executer:

(myenv)$ deactivate

Utilisation dans Eclipse/Pydev

Pour utiliser cet environnement dans eclipse avec Pydev il suffit d’aller dans Preferences > Pydev > Interpreter Python et d’ajouter l’executable python qui correspond, dans notre cas /opt/sdks/python/myenv/bin/python.

Configuration de l'executable python

Sur l’écran qui apparait ensuite, il ne faut selectionner que les chemin qui correspondent à notre environnement (ceux commençant par /opt/sdks/python/myenv/.

Sélection des chemins

L’environnement apparait ensuite dans la liste des environnement disponibles.

Préférences Pydev de l'interpreteur python

Il suffit ensuite de le sélectionner dans les préférences des projets concernés.

Sélection de l'interpréteur python d'un projet

Utilisation de pip

Lorsque l’environnement est actif, pip s’utilise comme apt/aptitude.

# Recherche de paquets
(myenv)$ pip search mypackage

# Installation d'un paquet
(myenv)$ pip install mypackage

Lorsque l’environnement est inactif, il est possible de specifier à pip un environnement pour l’installation avec l’option -E:

$ pip install -E myenv mypackage

Pour plus de détails sur l’utilisation de pip, la page man est normalement disponible.