{"id":35659,"date":"2019-10-31T22:05:38","date_gmt":"2019-10-31T19:05:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly\/"},"modified":"2019-10-31T22:05:38","modified_gmt":"2019-10-31T19:05:38","slug":"vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly","title":{"rendered":"Sortie de PyOxidizer pour empaqueter des projets Python en fichiers ex\u00e9cutables autonomes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/gregoryszorc.com\/blog\/2019\/06\/24\/building-standalone-python-applications-with-pyoxidizer\/\">Pr\u00e9sent\u00e9<\/a><\/noindex> premi\u00e8re version de l'outil <noindex><a rel=\"nofollow\" href=\"https:\/\/pyoxidizer.readthedocs.io\/en\/latest\/index.html\">PyOxidizer<\/a><\/noindex>, qui permet d'emballer un projet Python sous la forme d'un fichier ex\u00e9cutable autonome, incluant un interpr\u00e9teur Python ainsi que toutes les biblioth\u00e8ques et ressources n\u00e9cessaires \u00e0 son fonctionnement. De tels fichiers peuvent \u00eatre ex\u00e9cut\u00e9s dans des environnements sans l'outil Python install\u00e9 ou ind\u00e9pendamment de la version Python requise. PyOxidizer peut \u00e9galement g\u00e9n\u00e9rer des fichiers ex\u00e9cutables statiquement li\u00e9s, qui ne d\u00e9pendant pas des biblioth\u00e8ques syst\u00e8me. Le code du projet est \u00e9crit en Rust et <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/indygreg\/PyOxidizer\">est distribu\u00e9<\/a><\/noindex> sous licence MPL (Mozilla Public License) 2.0. <\/p>\n<p>Le projet est bas\u00e9 sur un module \u00e9ponyme pour le langage Rust, permettant d'int\u00e9grer un interpr\u00e9teur Python dans des programmes Rust pour ex\u00e9cuter des scripts Python. PyOxidizer d\u00e9passe d\u00e9sormais le cadre d'un compl\u00e9ment pour Rust et se positionne comme un outil accessible \u00e0 un public plus large pour cr\u00e9er et distribuer des paquets autonomes avec Python. Pour ceux qui n'ont pas besoin de distribuer des applications sous forme de fichier ex\u00e9cutable, PyOxidizer offre des fonctionnalit\u00e9s pour g\u00e9n\u00e9rer des biblioth\u00e8ques adapt\u00e9es \u00e0 l'int\u00e9gration d'un interpr\u00e9teur Python et d'un ensemble d'extensions requises.<\/p>\n<p>Pour les utilisateurs finaux, la livraison du projet sous la forme d'un fichier ex\u00e9cutable unique simplifie consid\u00e9rablement l'installation et \u00e9vite le travail de recherche de d\u00e9pendances, ce qui est particuli\u00e8rement pertinent pour des projets Python complexes comme des \u00e9diteurs vid\u00e9o. Pour les d\u00e9veloppeurs d'applications, PyOxidizer leur permet de gagner du temps sur l'organisation de la distribution de l'application, sans avoir \u00e0 utiliser diff\u00e9rents outils pour la cr\u00e9ation de paquets pour diff\u00e9rents syst\u00e8mes d'exploitation.<\/p>\n<p>L'utilisation des assemblages propos\u00e9s a \u00e9galement un impact positif sur les performances \u2014 les fichiers g\u00e9n\u00e9r\u00e9s avec PyOxidizer s'ex\u00e9cutent plus rapidement que ceux utilisant Python syst\u00e8me en raison de l'exclusion de l'importation et de la d\u00e9finition des modules de base. Dans PyOxidizer, les modules sont import\u00e9s depuis la m\u00e9moire \u2014 tous les modules int\u00e9gr\u00e9s sont imm\u00e9diatement charg\u00e9s en m\u00e9moire et utilis\u00e9s sans acc\u00e8s au disque). Dans les tests, le temps de lancement de l'application utilisant PyOxidizer est r\u00e9duit d'environ moiti\u00e9.<\/p>\n<p>Parmi les projets similaires d\u00e9j\u00e0 existants, on peut noter : <noindex><a rel=\"nofollow\" href=\"https:\/\/www.pyinstaller.org\/\">PyInstaller<\/a><\/noindex> (qui extrait le fichier dans un r\u00e9pertoire temporaire et importe les modules \u00e0 partir de celui-ci), <noindex><a rel=\"nofollow\" href=\"http:\/\/www.py2exe.org\/\">py2exe<\/a><\/noindex> (li\u00e9 \u00e0 la plateforme Windows et n\u00e9cessite la distribution de plusieurs fichiers), <noindex><a rel=\"nofollow\" href=\"https:\/\/py2app.readthedocs.io\/en\/latest\/\">py2app<\/a><\/noindex> (li\u00e9 \u00e0 macOS), <noindex><a rel=\"nofollow\" href=\"https:\/\/cx-freeze.readthedocs.io\/en\/latest\/\">cx-freeze<\/a><\/noindex> (n\u00e9cessite un emballage s\u00e9par\u00e9 des d\u00e9pendances), <noindex><a rel=\"nofollow\" href=\"https:\/\/shiv.readthedocs.io\/en\/latest\/\">Shiv<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pantsbuild\/pex\">PEX<\/a><\/noindex> (forme un package au format zip et n\u00e9cessite la pr\u00e9sence de Python sur le syst\u00e8me), <noindex><a rel=\"nofollow\" href=\"http:\/\/nuitka.net\/pages\/overview.html\">Nuitka<\/a><\/noindex> (compile le code au lieu d'int\u00e9grer l'interpr\u00e9teur), <noindex><a rel=\"nofollow\" href=\"https:\/\/pynsist.readthedocs.io\/en\/latest\/index.html\">pynsist<\/a><\/noindex> (li\u00e9 \u00e0 Windows), <noindex><a rel=\"nofollow\" href=\"https:\/\/www.egenix.com\/products\/python\/PyRun\">PyRun<\/a><\/noindex> (d\u00e9veloppement propri\u00e9taire sans explication du fonctionnement).<\/p>\n<p>\u00c0 ce stade de d\u00e9veloppement, PyOxidizer dispose d\u00e9j\u00e0 des fonctionnalit\u00e9s de base pour g\u00e9n\u00e9rer des fichiers ex\u00e9cutables pour Windows, macOS et Linux. Par rapport aux fonctionnalit\u00e9s encore non disponibles, <noindex><a rel=\"nofollow\" href=\"https:\/\/pyoxidizer.readthedocs.io\/en\/latest\/status.html\">on note<\/a><\/noindex> absence d'un environnement de construction standard, impossibilit\u00e9 de g\u00e9n\u00e9rer des paquets dans les formats MSI, DMG et deb\/rpm, probl\u00e8mes d'emballage des projets contenant des extensions complexes en C, absence de commandes pour accompagner la livraison (\u00ab pyoxidizer add \u00bb, \u00ab pyoxidizer analyze \u00bb et \u00ab pyoxidizer upgrade \u00bb), support limit\u00e9 de Terminfo et Readline, absence de support pour les versions autres que Python 3.7, absence de support pour la compression des ressources, impossibilit\u00e9 de cross-compilation.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source : <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50957\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u0442\u0438\u043b\u0438\u0442\u044b PyOxidizer, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Python \u0432 \u0444\u043e\u0440\u043c\u0443 \u0441\u0430\u043c\u043e\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 Python \u0438 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b. \u041f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f\u0445 \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f Python \u0438\u043b\u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Python. PyOxidizer \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-35659","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u0442\u0438\u043b\u0438\u0442\u044b\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a PyOxidizer \u0434\u043b\u044f \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0438 Python-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 \u0441\u0430\u043c\u043e\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u0442\u0438\u043b\u0438\u0442\u044b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:05:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:05:38+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lancement de PyOxidizer pour empaqueter des projets Python dans des fichiers ex\u00e9cutables autonomes | ProHoster","description":"Le premier lancement de l'outil a \u00e9t\u00e9 pr\u00e9sent\u00e9.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a PyOxidizer \u0434\u043b\u044f \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0438 Python-\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 \u0441\u0430\u043c\u043e\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0443\u0442\u0438\u043b\u0438\u0442\u044b","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:05:38+00:00","article:modified_time":"2019-10-31T19:05:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35659","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 00:14:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:58:29","updated":"2026-01-22 00:14:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/35659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=35659"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/35659\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=35659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=35659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=35659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}