{"id":5879,"date":"2024-09-02T12:14:03","date_gmt":"2024-09-02T12:14:03","guid":{"rendered":"https:\/\/wikiform.fr\/codespace\/utiliser-pip-freeze-en-python-guide\/"},"modified":"2024-09-02T12:14:07","modified_gmt":"2024-09-02T12:14:07","slug":"utiliser-pip-freeze-en-python-guide","status":"publish","type":"post","link":"https:\/\/wikiform.fr\/codespace\/utiliser-pip-freeze-en-python-guide\/","title":{"rendered":"11.5 Utiliser pip freeze en Python : Guide"},"content":{"rendered":"\n<p><strong>Pip freeze en Python<\/strong> est une comp\u00e9tence essentielle pour g\u00e9rer efficacement les d\u00e9pendances dans vos environnements de d\u00e9veloppement. En tirant parti de commandes comme <strong>pip freeze<\/strong>, vous pouvez facilement lister les modules install\u00e9s avec leurs versions exactes, ce qui est particuli\u00e8rement utile pour partager ou recr\u00e9er des environnements. Dans cet article, nous allons explorer comment utiliser pip freeze \u00e0 travers des exemples concrets.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction \u00e0 <strong>pip freeze Python<\/strong><\/h2>\n\n\n\n<div id=\"videoContainer\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;\">\n  <iframe src=\"https:\/\/player.vimeo.com\/video\/583426405?dnt=1&#038;fullscreen=0&#038;pip=0\" loading=\"lazy\" loading=\"lazy\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen id=\"vimeoPlayer\"><\/iframe>\n  \n  <!-- Popup Desktop -->\n  <div id=\"popupContainer\" class=\"desktop-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 400px; padding: 20px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <h2 style=\"color: #333; font-size: 1.5em; margin: 10px 0;\" id=\"profitez-de-loffre-spciale-\">Profitez de l\u2019offre sp\u00e9ciale !<\/h2>\n    <p style=\"color: #e74c3c; font-size: 1.2em; margin: 10px 0;\">Obtenez notre cours pour seulement <strong id=\"price\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: block; padding: 10px 20px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 1em; margin: 20px auto;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 10px 20px; font-size: 1em;\">Fermer<\/button>\n  <\/div>\n\n  <!-- Popup Mobile -->\n  <div id=\"popupContainerMobile\" class=\"mobile-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 300px; padding: 15px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <p style=\"color: #e74c3c; font-size: 1em; margin: 5px 0;\">Cours sp\u00e9cial \u00e0 <strong id=\"priceMobile\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: inline-block; padding: 8px 15px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 0.9em;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 5px 10px; font-size: 0.9em;\">Fermer<\/button>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    var iframe = document.getElementById('vimeoPlayer');\n    var player = new Vimeo.Player(iframe);\n    var isPopupDisplayed = false;\n\n    player.on('play', function() {\n        if (!isPopupDisplayed) {\n            player.on('timeupdate', function(data) {\n                if (data.seconds >= 120 && !isPopupDisplayed) { \/\/ 120 seconds = 2 minutes\n                    \/\/ Pause the video and display the popup\n                    player.pause().then(function() {\n                        if (window.innerWidth > 768) {\n                            document.querySelector('.desktop-popup').style.display = 'block';\n                        } else {\n                            document.querySelector('.mobile-popup').style.display = 'block';\n                        }\n                        fetchPriceAndUpdatePopup();\n                        isPopupDisplayed = true;\n                    });\n                }\n            });\n        }\n    });\n\n    function fetchPriceAndUpdatePopup() {\n        fetch('https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144')\n            .then(response => response.text())\n            .then(html => {\n                var parser = new DOMParser();\n                var fetchedDoc = parser.parseFromString(html, 'text\/html');\n                var priceElement = fetchedDoc.querySelector('.ammount .fw-500');\n                var originalPriceElement = fetchedDoc.querySelector('.ammount del');\n                var price = priceElement ? priceElement.textContent.trim() : '29.5\u20ac';\n                var originalPrice = originalPriceElement ? originalPriceElement.textContent.trim() : '59\u20ac';\n\n                document.getElementById('price').textContent = price;\n                document.getElementById('priceMobile').textContent = price;\n                document.querySelector('.desktop-popup del').textContent = originalPrice;\n                document.querySelector('.mobile-popup del').textContent = originalPrice;\n            })\n            .catch(error => console.error('Error fetching the price:', error));\n    }\n\n    function closePopup() {\n        document.querySelector('.desktop-popup').style.display = 'none';\n        document.querySelector('.mobile-popup').style.display = 'none';\n        player.play(); \/\/ Allows resuming the video only after closing the popup\n    }\n});\n<\/script>\n\n\n\n<p>La commande pip freeze fait partie de l&rsquo;\u00e9cosyst\u00e8me Python de gestion des packages pip. Elle permet de g\u00e9n\u00e9rer une liste de tous les packages install\u00e9s dans votre environnement virtuel actuel, avec leurs versions exactes. C&rsquo;est tr\u00e8s utile pour cr\u00e9er des fichiers requirements.txt, qui peuvent ensuite \u00eatre utilis\u00e9s pour installer facilement les m\u00eames packages dans un autre environnement.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Installation de Pip<\/h3>\n\n\n\n<p>Avant de pouvoir utiliser pip freeze, assurez-vous que pip est install\u00e9 sur votre syst\u00e8me. Vous pouvez v\u00e9rifier cela en utilisant la commande suivante :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-bash\"><code>pip --version<\/code><\/pre>\n\n\n\n<p>Si pip n&rsquo;est pas install\u00e9, vous pouvez l&rsquo;installer en suivant les instructions sur la page officielle de <a href=\"https:\/\/pip.pypa.io\/en\/stable\/installation\/\" target=\"_blank\" rel=\"noopener\">pip installation<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cr\u00e9er un Environnement Virtuel<\/h3>\n\n\n\n<p>Il est recommand\u00e9 de toujours travailler dans un <strong>environnement virtuel<\/strong> pour \u00e9viter les conflits de d\u00e9pendances. Voici comment cr\u00e9er et activer un environnement virtuel sous Windows et Unix\/MacOS :<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sous Windows<\/h4>\n\n\n\n<pre class=\"wp-block-code lang-bash\"><code>python -m venv myenv\nmyenv\\Scripts\\activate<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Sous Unix\/MacOS<\/h4>\n\n\n\n<pre class=\"wp-block-code lang-bash\"><code>python3 -m venv myenv\nsource myenv\/bin\/activate<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Installer des Paquets avec pip<\/h3>\n\n\n\n<p>Apr\u00e8s avoir activ\u00e9 votre environnement virtuel, vous pouvez installer les paquets n\u00e9cessaires pour votre projet. Par exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-bash\"><code>pip install requests flask numpy<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Cr\u00e9er un Fichier requirements.txt avec pip freeze<\/h3>\n\n\n\n<p>Pour partager votre environnement avec d&rsquo;autres d\u00e9veloppeurs ou pour recr\u00e9er le m\u00eame environnement plus tard, vous pouvez utiliser <strong>pip freeze en Python<\/strong> pour g\u00e9n\u00e9rer un fichier requirements.txt :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-bash\"><code>pip freeze > requirements.txt<\/code><\/pre>\n\n\n\n<p>Ce fichier contiendra une liste de tous les paquets install\u00e9s et leurs versions, par exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-plaintext\"><code>flask==1.1.2\nnumpy==1.20.0\nrequests==2.25.1<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Installer des Paquets depuis requirements.txt<\/h3>\n\n\n\n<p>Pour installer les paquets list\u00e9s dans un fichier requirements.txt, utilisez la commande suivante :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-bash\"><code>pip install -r requirements.txt<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Gestion des D\u00e9pendances<\/h3>\n\n\n\n<p>Utiliser <strong>pip freeze<\/strong> et requirements.txt facilite la gestion des d\u00e9pendances et assure que tous les d\u00e9veloppeurs travaillant sur le m\u00eame projet disposent de versions coh\u00e9rentes des paquets. Cela r\u00e9duit les bugs et les conflits de version. Cela s&rsquo;applique \u00e9galement lorsque vous travaillez avec des bases de donn\u00e9es en Python, comme <a href=\"https:\/\/wikiform.fr\/codespace\/creation-de-bases-de-donnees-sqlite-en-python\" target=\"_blank\" rel=\"noopener\">SQLite<\/a>, ou lorsque vous manipulez des fichiers, comme discuter dans l&rsquo;article sur <a href=\"https:\/\/wikiform.fr\/codespace\/ouvrir-et-exploiter-un-fichier-en-python\" target=\"_blank\" rel=\"noopener\">comment ouvrir et exploiter un fichier en Python<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cas Pratique : Projets Multiples<\/h3>\n\n\n\n<p>Imaginons que vous travaillez sur plusieurs projets en parall\u00e8le. Chaque projet peut avoir un ensemble diff\u00e9rent de d\u00e9pendances. En utilisant des environnements virtuels et pip freeze, vous pouvez facilement cr\u00e9er et g\u00e9rer ces environnements. Par exemple :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-bash\"><code># Cr\u00e9er des environnements pour deux projets\npython -m venv project1_env\npython -m venv project2_env\n\n# Activer l'environnement du projet 1 et installer les paquets\nsource project1_env\/bin\/activate\npip install django djangorestframework\n\n# G\u00e9n\u00e9rez requirements.txt pour le projet 1\npip freeze > project1_requirements.txt\n\n# D\u00e9sactiver l'environnement\ndeactivate\n\n# Activer l'environnement du projet 2 et installer les paquets\nsource project2_env\/bin\/activate\npip install flask sqlalchemy\n\n# G\u00e9n\u00e9rez requirements.txt pour le projet 2\npip freeze > project2_requirements.txt\n\n# D\u00e9sactiver l'environnement\ndeactivate\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Mettre \u00e0 Jour les D\u00e9pendances<\/h3>\n\n\n\n<p>Pour maintenir votre environnement \u00e0 jour, il est important de v\u00e9rifier les versions des paquets de temps en temps. Vous pouvez r\u00e9g\u00e9n\u00e9rer le fichier requirements.txt apr\u00e8s chaque mise \u00e0 jour des paquets :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-bash\"><code>pip install --upgrade package_name\npip freeze > requirements.txt<\/code><\/pre>\n\n\n\n<p>En maintenant vos paquets \u00e0 jour, vous r\u00e9duirez les risques de vuln\u00e9rabilit\u00e9s de s\u00e9curit\u00e9 et assurerez la compatibilit\u00e9 avec d&rsquo;autres modules install\u00e9s. C&rsquo;est \u00e9galement essentiel si vous pr\u00e9voyez de publier votre code source et souhaitez que d&rsquo;autres puissent l&rsquo;ex\u00e9cuter sans probl\u00e8me.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Utiliser <strong>pip freeze en Python<\/strong> est un outil puissant qui simplifie la gestion des d\u00e9pendances dans vos projets. En g\u00e9n\u00e9rant et en utilisant des fichiers requirements.txt, vous assurez la coh\u00e9rence et la reproductibilit\u00e9 de vos environnements de d\u00e9veloppement. En suivant ces instructions simples, vous pouvez ma\u00eetriser l&rsquo;utilisation de <a href=\"https:\/\/wikiform.fr\/codespace\/utiliser-pip-freeze-en-python-guide\" target=\"_blank\" rel=\"noopener\">pip freeze en Python<\/a> et am\u00e9liorer drastiquement votre flux de travail. Pour plus d&rsquo;astuces et de tutoriels sur la gestion des paquets en Python, n&rsquo;h\u00e9sitez pas \u00e0 explorer des ressources suppl\u00e9mentaires et \u00e0 rester \u00e0 jour avec les meilleures pratiques. Par exemple, comprendre comment cr\u00e9er des environnements virtuels avec <a href=\"https:\/\/wikiform.fr\/codespace\/introduction-a-l-environnement-virtuel-python\" target=\"_blank\" rel=\"noopener\">virtualenv<\/a> ou apprendre \u00e0 <a href=\"https:\/\/wikiform.fr\/codespace\/creer-et-utiliser-venv-sur-windows-avec-python\" target=\"_blank\" rel=\"noopener\">cr\u00e9er et utiliser venv sur Windows avec Python<\/a> peut grandement am\u00e9liorer votre efficacit\u00e9.<\/p>\n\n\n\n<a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/2024\/07\/learnify-formation-PYTHON-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation Python Offre 50%\" title=\"\"><\/a>\n","protected":false},"excerpt":{"rendered":"<p>Pip freeze en Python est une comp\u00e9tence essentielle pour g\u00e9rer efficacement les d\u00e9pendances dans vos environnements de d\u00e9veloppement. En tirant parti de commandes comme pip&#8230;<\/p>\n","protected":false},"author":4,"featured_media":2976,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[24],"tags":[18],"class_list":["post-5879","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-tutoriels"],"acf":[],"_titre_de_la_formation":null,"_description_":null,"_objectifs_pedagogiques":null,"_programme_":null,"_url_de_limage":null,"_materiel_necessaire":null,"_modalites_devaluation_des_acquis":null,"_moyens_pedagogiques_et_techniques":null,"_accessibilite_":null,"_formateur_":null,"menu_order":0,"_links":{"self":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5879","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/comments?post=5879"}],"version-history":[{"count":1,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5879\/revisions"}],"predecessor-version":[{"id":5880,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5879\/revisions\/5880"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media\/2976"}],"wp:attachment":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media?parent=5879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/categories?post=5879"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/tags?post=5879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}