<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>noirbizarre.info</title>
	<atom:link href="http://www.noirbizarre.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.noirbizarre.info</link>
	<description>Encore un blog de GeeK</description>
	<lastBuildDate>Sat, 10 Jul 2010 18:51:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>pip, virtualenv et pydev</title>
		<link>http://www.noirbizarre.info/2010/07/10/pip-virtualenv-et-pydev/</link>
		<comments>http://www.noirbizarre.info/2010/07/10/pip-virtualenv-et-pydev/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 18:51:44 +0000</pubDate>
		<dc:creator>noirbizarre</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[pip]]></category>
		<category><![CDATA[pydev]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[virtualenv]]></category>

		<guid isPermaLink="false">http://www.noirbizarre.info/?p=35</guid>
		<description><![CDATA[L&#8217;une des difficultés majeures du développement aujourd&#8217;hui est la gestion des dépendances et en particulier pour Python l&#8217;isolement de l&#8217;environnement de développement. Pour résoudre ce problème, nous allons utiliser : pip: un remplaçant d&#8217;easy_install bien plus complet. virtualenv: permet d&#8217;instancier des environnements python isolés. ﻿Installation des outils de développement Si ce n&#8217;est déjà fait, il faut installer un environnement]]></description>
			<content:encoded><![CDATA[<p>L&#8217;une des difficultés majeures du développement aujourd&#8217;hui est la gestion des dépendances et en particulier pour Python l&#8217;isolement de l&#8217;environnement de développement.</p>
<p>Pour résoudre ce problème, nous allons utiliser :</p>
<ul>
<li><a title="pip" href="http://pip.openplans.org/">pip</a>: un remplaçant d&#8217;easy_install bien plus complet.</li>
<li><a title="virtualenv" href="http://virtualenv.openplans.org/">virtualenv</a>: permet d&#8217;instancier des environnements python isolés.</li>
</ul>
<h2>﻿Installation des outils de développement</h2>
<p>Si ce n&#8217;est déjà fait, il faut installer un environnement de développement python classique:</p>
<pre>$ aptitude install python-setuptools python-dev build-essential</pre>
<p>Nous rajoutons ensuite pip et virtualenv qui sont présent dans les dépôts sous Ubuntu Lucid.</p>
<pre>$ aptitude install python-pip python-virtualenv</pre>
<p>Nous sommes maintenant prêt à instancier notre premier environnement.</p>
<h2>Création d&#8217;un environnement isolé</h2>
<p>Par habitude je stocke tous les sdks que j&#8217;installe manuellement dans <strong>/opt/sdks</strong> et j&#8217;utiliserai donc comme chemin d&#8217;installation pour mes environnements <strong>/opt/sdks/python</strong>.</p>
<pre>$ ﻿virtualenv --no-site-packages myenv</pre>
<p>L&#8217;option <strong>&#8211;no-site-packages</strong> permet d&#8217;avoir une installation de python nue, c&#8217;est à dire sans aucune des dépendances python ajoutées dans l&#8217;installation courante.</p>
<h2>Utilisation en ligne de commande</h2>
<p>Pour activer un environnement, il faut executer au choix:</p>
<pre># Depuis le repertoire /opt/sdks/python
$ source myenv/bin/activate

# Depuis n'importe quel répertoire
$ source /opt/sdks/python/myenv/bin/activate</pre>
<p>Une fois l&#8217;environnement actif, le prompt du shell est préfixé par &laquo;&nbsp;(nom de l&#8217;environnement)&nbsp;&raquo;.</p>
<p>Pour désactiver l&#8217;environnement, il suffit d&#8217;executer:</p>
<pre>(myenv)$ deactivate</pre>
<h2>Utilisation dans Eclipse/Pydev</h2>
<p>Pour utiliser cet environnement dans eclipse avec Pydev il suffit d&#8217;aller dans <strong>Preferences &gt; Pydev &gt; Interpreter Python </strong>et d&#8217;ajouter l&#8217;executable python qui correspond, dans notre cas ﻿﻿﻿<strong>/opt/sdks/python/myenv/bin/python</strong>.</p>
<p><a href="http://www.noirbizarre.info/wp-content/uploads/2010/07/virtualenv_pydev_eclipse.png"><img class="alignnone size-medium wp-image-52" title="virtualenv_pydev_eclipse" src="http://www.noirbizarre.info/wp-content/uploads/2010/07/virtualenv_pydev_eclipse-300x241.png" alt="Configuration de l'executable python" width="300" height="241" /></a></p>
<p>Sur l&#8217;écran qui apparait ensuite, il ne faut selectionner que les chemin qui correspondent à notre environnement (ceux commençant par ﻿<strong>/opt/sdks/python/myenv/</strong>.</p>
<p><a href="http://www.noirbizarre.info/wp-content/uploads/2010/07/Selection-Needed.png"><img class="alignnone size-medium wp-image-53" title="Selection Needed" src="http://www.noirbizarre.info/wp-content/uploads/2010/07/Selection-Needed-300x268.png" alt="Sélection des chemins" width="300" height="268" /></a></p>
<p>L&#8217;environnement apparait ensuite dans la liste des environnement disponibles.</p>
<p><a href="http://www.noirbizarre.info/wp-content/uploads/2010/07/Preferences_env_pydev.png"><img class="alignnone size-medium wp-image-54" title="Preferences_env_pydev" src="http://www.noirbizarre.info/wp-content/uploads/2010/07/Preferences_env_pydev-300x242.png" alt="Préférences Pydev de l'interpreteur python" width="300" height="242" /></a></p>
<p>Il suffit ensuite de le sélectionner dans les préférences des projets concernés.</p>
<p><a href="http://www.noirbizarre.info/wp-content/uploads/2010/07/myproject_pydev_interpreter.png"><img class="alignnone size-medium wp-image-55" title="myproject_pydev_interpreter" src="http://www.noirbizarre.info/wp-content/uploads/2010/07/myproject_pydev_interpreter-300x221.png" alt="Sélection de l'interpréteur python d'un projet" width="300" height="221" /></a></p>
<h2>Utilisation de pip</h2>
<p>Lorsque l&#8217;environnement est actif, pip s&#8217;utilise comme apt/aptitude.</p>
<pre># Recherche de paquets
(myenv)$ pip search mypackage

# Installation d'un paquet
(myenv)$ pip install mypackage</pre>
<p>Lorsque l&#8217;environnement est inactif, il est possible de specifier à pip un environnement pour l&#8217;installation avec l&#8217;option -E:</p>
<pre>$ pip install -E myenv mypackage</pre>
<p>Pour plus de détails sur l&#8217;utilisation de pip, la page man est normalement disponible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.noirbizarre.info/2010/07/10/pip-virtualenv-et-pydev/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
