<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://knowledge.pinon-hebert.fr/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Environnements_virtuels_Python</id>
	<title>Environnements virtuels Python - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Environnements_virtuels_Python"/>
	<link rel="alternate" type="text/html" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Environnements_virtuels_Python&amp;action=history"/>
	<updated>2026-05-19T11:18:27Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Environnements_virtuels_Python&amp;diff=1355&amp;oldid=prev</id>
		<title>Jpinon : Page créée avec « Les scripts Python utilisent souvent des paquets et modules qui ne font pas partie de la bibliothèque standard. Ils nécessitent aussi, parfois, une version spécifique d&#039;une bibliothèque, par exemple parce qu&#039;un certain bug a été corrigé ou encore que le programme a été implémenté en utilisant une version obsolète de l&#039;interface de cette bibliothèque.  Comment alors pouvoir exploiter une version n d&#039;un module dans un programme et une version n-1 dans... »</title>
		<link rel="alternate" type="text/html" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Environnements_virtuels_Python&amp;diff=1355&amp;oldid=prev"/>
		<updated>2025-10-30T15:06:30Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « Les scripts Python utilisent souvent des paquets et modules qui ne font pas partie de la bibliothèque standard. Ils nécessitent aussi, parfois, une version spécifique d&amp;#039;une bibliothèque, par exemple parce qu&amp;#039;un certain bug a été corrigé ou encore que le programme a été implémenté en utilisant une version obsolète de l&amp;#039;interface de cette bibliothèque.  Comment alors pouvoir exploiter une version n d&amp;#039;un module dans un programme et une version n-1 dans... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Les scripts Python utilisent souvent des paquets et modules qui ne font pas partie de la bibliothèque standard. Ils nécessitent aussi, parfois, une version spécifique d&amp;#039;une bibliothèque, par exemple parce qu&amp;#039;un certain bug a été corrigé ou encore que le programme a été implémenté en utilisant une version obsolète de l&amp;#039;interface de cette bibliothèque.&lt;br /&gt;
&lt;br /&gt;
Comment alors pouvoir exploiter une version n d&amp;#039;un module dans un programme et une version n-1 dans un autre. C&amp;#039;est pour cela que le mécanisme des environnement virtuels à été crée.&lt;br /&gt;
&lt;br /&gt;
Bon maintenant il est devenu obligatoire dans pas mal d&amp;#039;installations de base. C&amp;#039;est par exemple le cas pour Raspberry OS (Debian pour Raspberry PI), en tout cas pour ma version Debian GNU/Linux 12 (bookworm). &lt;br /&gt;
&lt;br /&gt;
Dans cette page on va réutiliser l&amp;#039;exemple de la doc. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tutorial-env&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Création et utilisation ==&lt;br /&gt;
&lt;br /&gt;
=== Création d&amp;#039;un environnement. ===&lt;br /&gt;
Pour créer un environnement on se déplace dans son répertoire parente et on le crée:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd sources&lt;br /&gt;
python -m venv tutorial-env&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;C&amp;#039;est parfois un peu lent. prendre patience.&lt;br /&gt;
&lt;br /&gt;
=== Activation ===&lt;br /&gt;
Un fois crée il faut l&amp;#039;activer :&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source tutorial-env/bin/activate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;l&amp;#039;environnement est alors lancé et configuré. On sait qu&amp;#039;on est connecté à un venv car l&amp;#039;invite de commande est changée. Le nom de l&amp;#039;environnement est ajouté avant.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
$ source tutorial-env/bin/activate&lt;br /&gt;
(tutorial-env) $ &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On devra relancer le source chaque fois qu&amp;#039;on se délogue/relogue.&lt;br /&gt;
&lt;br /&gt;
=== Désactivation ===&lt;br /&gt;
Le but initial est de pouvoir travailler sur plusieurs programmes sur la même machine qui possède des dépendances différentes. Il faut pouvoir changer de venv. Pour cela on a une commande pour &amp;quot;désactiver&amp;quot; un environnement. C&amp;#039;est la fonction symétrique de &amp;lt;code&amp;gt;activate&amp;lt;/code&amp;gt;.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(tutorial-env) $ deactivate&lt;br /&gt;
$ &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestion des paquets ==&lt;br /&gt;
On utilise pip comme d&amp;#039;habitude. Par exemple si je veux installer pyttsx3:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python -m pip install pyttsx3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;qui fonctionne comme si on était dans un environnement classique :&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple&lt;br /&gt;
Collecting pyttsx3&lt;br /&gt;
  Downloading https://www.piwheels.org/simple/pyttsx3/pyttsx3-2.99-py3-none-any.whl (32 kB)&lt;br /&gt;
Installing collected packages: pyttsx3&lt;br /&gt;
Successfully installed pyttsx3-2.99&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;on peut alors utiliser le module.&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
(tutorial-env) $ python3&lt;br /&gt;
Python 3.11.2 (main, Nov 30 2024, 21:22:50) [GCC 12.2.0] on linux&lt;br /&gt;
Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import pyttsx3&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; engine = pyttsx3.init()&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;si on désactive le venv avec deactivate :&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
(tutorial-env) $ deactivate&lt;br /&gt;
$ python3&lt;br /&gt;
Python 3.11.2 (main, Nov 30 2024, 21:22:50) [GCC 12.2.0] on linux&lt;br /&gt;
Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import pyttsx3&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
  File &amp;quot;&amp;lt;stdin&amp;gt;&amp;quot;, line 1, in &amp;lt;module&amp;gt;&lt;br /&gt;
ModuleNotFoundError: No module named &amp;#039;pyttsx3&amp;#039;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;voila le module n&amp;#039;est plus installé.&amp;lt;blockquote&amp;gt;Lors de la rédaction de cette page j&amp;#039;ai utilisé la doc officielle :https://docs.python.org/fr/3/tutorial/venv.html et l&amp;#039;aide de copilot https://m365.cloud.microsoft/chat/.&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jpinon</name></author>
	</entry>
</feed>