<?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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Archives des virtualenv - La programmation sur le web</title>
	<atom:link href="https://programmation.surleweb-france.fr/tag/virtualenv/feed/" rel="self" type="application/rss+xml" />
	<link>https://programmation.surleweb-france.fr/tag/virtualenv/</link>
	<description>La programmation gratuite pour tous</description>
	<lastBuildDate>Wed, 05 May 2021 14:42:31 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/08/cropped-19518430-icone-de-programmation-pour-votre-site-web-mobile-presentation-et-conception-de-logo-gratuit-vectoriel.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Archives des virtualenv - La programmation sur le web</title>
	<link>https://programmation.surleweb-france.fr/tag/virtualenv/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">176210735</site>	<item>
		<title>Python, environnement virtuel</title>
		<link>https://programmation.surleweb-france.fr/python-environnement-virtuel/</link>
					<comments>https://programmation.surleweb-france.fr/python-environnement-virtuel/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Wed, 05 May 2021 14:42:29 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[environnement]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[virtualenv]]></category>
		<category><![CDATA[virtuel]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=942</guid>

					<description><![CDATA[<p>La mise en place et l'utilisation d'un environnement virtuel pour travailler un projet Python est simple et incontournable que ce soit pour soi ou un travail en équipe</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/python-environnement-virtuel/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-environnement-virtuel/">Python, environnement virtuel</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Le langage Python est l&rsquo;un des plus élégant et simple à appréhender. C&rsquo;est un langage sans limite qui permet de réaliser un nombre impressionnant de projet, que ce soit de l&rsquo;application web, à la data-science en passant par des applications bureautiques. Ce nombre de projet, le nombre de programmeur ainsi que le nombre de module, de versions disponibles font qu&rsquo;il peut rapidement devenir complexe de travailler sur différents projets. La mise en place d&rsquo;un<a href="https://wiki.archlinux.fr/Python/Environnement_virtuel" target="_blank" rel="noreferrer noopener"> environnement virtuel</a> va permettre de résoudre ses problèmes.</p>



<h2 class="wp-block-heading">Pourquoi utiliser un environnement virtuel</h2>



<p>Comme je viens de l&rsquo;écrire, les problèmes peuvent devenir de plus en plus nombreux en fonction de différents facteurs :</p>



<ul class="wp-block-list"><li>le nombre de programmeur avec des versions installées de Python ou des modules différents</li><li>la mise en place de système de test</li><li>le maintien à jour (ou pas) des modules</li><li>la nécessité d&rsquo;avoir des versions de module différent en fonction de l&rsquo;application</li></ul>



<p>Et j&rsquo;en oublie certainement.</p>



<p>La mise en place d&rsquo;un environnement virtuel va permettre de régler l&rsquo;ensemble de ces problèmes.</p>



<p>Il va permettre d&rsquo;isoler son projet (son application) de l&rsquo;installation système, on aura donc (si on le souhaite) :</p>



<ul class="wp-block-list"><li>différents environnements ou python disponible sans avoir à tout réinstaller</li><li>des modules pouvant avoir des versions différentes en fonctions des environnement</li><li>un partage simplifier entre programmeur notamment en utilisant un dépot GIt qui contiendra un fichier (<em><strong>requirements.txt</strong></em>) qui listera les modules et les versions nécessaires pour le projet Python.</li></ul>



<p>La mise à jour du système d&rsquo;exploitation ne mettra pas à jours les modules des environnements, on pourra donc avoir un module en version 2 sur l&rsquo;environnement et ce même module en version 3 sur le système.</p>



<p>De plus, même si cela n&rsquo;est pas un argument en soi, la majorité des développeurs travaillent avec un environnement virtuel.</p>



<h2 class="wp-block-heading">Mise en place d&rsquo;un environnement virtuel</h2>



<p>Beaucoup d&rsquo;IDE (PyCharm ou visual Studio) bénéficie de leur propre moyen de mettre en place un environnement virtuel. Je verrai ici, la mise ne place pour un système linux (debian) en ligne de commande. </p>



<h3 class="wp-block-heading">Installation de virtualenv</h3>



<p>Dans mon cas, j&rsquo;utilise l&rsquo;outil <em><strong><a href="https://pypi.org/project/virtualenv/" target="_blank" rel="noreferrer noopener">virtualenv</a></strong></em>, celui-ci est généralement déjà installé. Si il n&rsquo;est pas présent, l&rsquo;installation se fait :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo apt install virtualenv</pre>



<h3 class="wp-block-heading">Création de l&rsquo;environnement virtuel</h3>



<p>La création d&rsquo;un environnement se fait simplement en tapant la commande à la racine de son projet :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">virtualenv -p python3 env</pre>



<h3 class="wp-block-heading">Activation et désactivation de l&rsquo;environnement</h3>



<p>Cela va créer l&rsquo;environnement, mais pour y travailler, il va falloir l&rsquo;activer :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">source env/bin/activate</pre>



<p>Nous voyons que nous sommes bien dans l&rsquo;environnement virtuel avec le nom de cet environnement qui apparaît à gauche :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="508" height="33" src="//i2.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-1.png" alt="" class="wp-image-943" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-1.png?w=508&amp;ssl=1 508w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-1.png?resize=300%2C19&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-1.png?resize=150%2C10&amp;ssl=1 150w" sizes="(max-width: 508px) 100vw, 508px" /></figure></div>



<p>Pour le désactiver, il suffit de taper :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">deactivate</pre>



<p>Pour visualiser de changement d&rsquo;environnement, tu peux voir l&rsquo;image qui sui :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="512" height="104" src="//i1.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-2.png" alt="" class="wp-image-944" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-2.png?w=512&amp;ssl=1 512w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-2.png?resize=300%2C61&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-2.png?resize=150%2C30&amp;ssl=1 150w" sizes="(max-width: 512px) 100vw, 512px" /></figure></div>



<p>Avec la première commande, on voit que le python3 se situe bien dans /usr/bin (soit sur le système, la troisième commande permet de visualiser la mise en place de la virtualisation.</p>



<h3 class="wp-block-heading">Installer, supprimer et lister les modules disponibles</h3>



<p>Notre nouvel environnement créé, il est vierge de tout module, pour lister les modules disponibles, une fois l&rsquo;environnement activé :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">pip freeze</pre>



<p>Qui retournera les modules :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="446" height="51" src="//i2.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-3.png" alt="" class="wp-image-945" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-3.png?w=446&amp;ssl=1 446w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-3.png?resize=300%2C34&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/05/image-3.png?resize=150%2C17&amp;ssl=1 150w" sizes="(max-width: 446px) 100vw, 446px" /></figure></div>



<p>On vois qu&rsquo;il n&rsquo;y a qu&rsquo;un seul module d&rsquo;installer, d&rsquo;ailleurs, je t&rsquo;invite à lire <a href="https://qastack.fr/programming/39577984/what-is-pkg-resources-0-0-0-in-output-of-pip-freeze-command" target="_blank" rel="noreferrer noopener">cette page</a> qui explique la présence de ce module. Il est possible de rediriger le résultat de cette commande vers un fichier <strong><em>requirements.txt</em></strong>. D&rsquo;ailleurs, il s&rsquo;agit d&rsquo;un fichier important pour lister et installer facilement les modules.</p>



<p>La création de ce fichier ce fait :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">pip freeze > requirements.txt</pre>



<p>Pour installer un module, on utilise le module <strong><em>pip</em></strong> :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">pip install &lt;nom_module></pre>



<p>Pour installer les modules inscrits dans le fichiers <strong><em>requirements.txt</em></strong> :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">pip insatll -r requirements.txt</pre>



<p>Pour supprimer un module, on utilise également la module pip :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="shell" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">pip uninstall &lt;nom_module></pre>



<h2 class="wp-block-heading">Conclusion</h2>



<p>En quelques lignes, la mise en place d&rsquo;un environnement virtuel se fait facilement et vous permettra de disposer d&rsquo;un espace de travail isolé de votre système.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-environnement-virtuel/">Python, environnement virtuel</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/python-environnement-virtuel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">942</post-id>	</item>
	</channel>
</rss>
