noirbizarre.info
Encore un blog de GeeK
Encore un blog de GeeK
10/07/10
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 :
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.
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.
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
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.
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/.
L’environnement apparait ensuite dans la liste des environnement disponibles.
Il suffit ensuite de le sélectionner dans les préférences des projets concernés.
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.