{"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\/en\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly","title":{"rendered":"PyOxidizer Release for Packaging Python Projects into Standalone Executables","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\/\">Introduced<\/a><\/noindex> first release of the utility <noindex><a rel=\"nofollow\" href=\"https:\/\/pyoxidizer.readthedocs.io\/en\/latest\/index.html\">PyOxidizer<\/a><\/noindex>, which allows packaging a Python project as a standalone executable file that includes the Python interpreter along with all necessary libraries and resources for its operation. Such files can run in environments without an installed Python toolkit or independent of having the required version of Python. PyOxidizer can also create statically linked executable files that are not tied to system libraries. The project code is written in Rust and <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/indygreg\/PyOxidizer\">is distributed<\/a><\/noindex> is licensed under the MPL (Mozilla Public License) 2.0. <\/p>\n<p>The project is based on a module of the same name for the Rust language, which allows embedding the Python interpreter into Rust programs for executing Python scripts within them. PyOxidizer has now gone beyond being a mere complement for Rust and is positioned as a tool accessible to a broader audience for creating and distributing standalone packages with Python. For those who do not need to distribute applications as executable files, PyOxidizer provides capabilities for generating libraries suitable for linking with any applications to embed the Python interpreter and the necessary set of extensions.<\/p>\n<p>For end-users, delivering the project as a single executable file significantly simplifies installation and eliminates the hassle of dependency management, which is particularly relevant for complex Python projects, such as video editors. For application developers, PyOxidizer saves time on the delivery organization of the application, without the need to use various tools for creating packages for different operating systems.<\/p>\n<p>The use of the proposed builds also positively affects performance \u2014 the files generated in PyOxidizer start faster than when using the system Python due to the exclusion of imports and the definition of core modules. In PyOxidizer, modules are imported from memory \u2014 all built-in modules are loaded into memory at once and then utilized without accessing the disk. In tests, the application startup time when using PyOxidizer is reduced by about half.<\/p>\n<p>Among the existing similar projects, we can highlight: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.pyinstaller.org\/\">PyInstaller<\/a><\/noindex> (unpacks the file into a temporary directory and imports modules from it), <noindex><a rel=\"nofollow\" href=\"http:\/\/www.py2exe.org\/\">py2exe<\/a><\/noindex> (platform-bound to Windows and requires distributing several files), <noindex><a rel=\"nofollow\" href=\"https:\/\/py2app.readthedocs.io\/en\/latest\/\">py2app<\/a><\/noindex> (platform-bound to macOS), <noindex><a rel=\"nofollow\" href=\"https:\/\/cx-freeze.readthedocs.io\/en\/latest\/\">cx-freeze<\/a><\/noindex> (requires separate packaging of dependencies), <noindex><a rel=\"nofollow\" href=\"https:\/\/shiv.readthedocs.io\/en\/latest\/\">Shiv<\/a><\/noindex> and <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pantsbuild\/pex\">PEX<\/a><\/noindex> (creates a package in zip format and requires Python to be present on the system), <noindex><a rel=\"nofollow\" href=\"http:\/\/nuitka.net\/pages\/overview.html\">Nuitka<\/a><\/noindex> (compiles code rather than embedding the interpreter), <noindex><a rel=\"nofollow\" href=\"https:\/\/pynsist.readthedocs.io\/en\/latest\/index.html\">pynsist<\/a><\/noindex> (platform-bound to Windows), <noindex><a rel=\"nofollow\" href=\"https:\/\/www.egenix.com\/products\/python\/PyRun\">PyRun<\/a><\/noindex> (proprietary development without explanations of its principles).<\/p>\n<p>At the current stage of development, PyOxidizer has already implemented the main functionality for generating executable files for Windows, macOS, and Linux. Among the currently unavailable features, <noindex><a rel=\"nofollow\" href=\"https:\/\/pyoxidizer.readthedocs.io\/en\/latest\/status.html\">include<\/a><\/noindex> The lack of a standard build environment, the inability to generate packages in MSI, DMG, and deb\/rpm formats, problems with packaging projects that include complex extensions in C, the absence of commands for delivery maintenance ('pyoxidizer add', 'pyoxidizer analyze', and 'pyoxidizer upgrade'), limited support for Terminfo and Readline, lack of support for releases other than Python 3.7, lack of resource compression support, and the inability to cross-compile.<\/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.1.1 - 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\/en\/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.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\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\/en\/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\udd47 Release of PyOxidizer for packaging Python projects into self-contained executable files | ProHoster","description":"The first release of the utility has been presented","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","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\/en\/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\/en\/wp-json\/wp\/v2\/posts\/35659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=35659"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/35659\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=35659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=35659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=35659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}