{"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\/sv\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly","title":{"rendered":"Sl\u00e4pp av PyOxidizer f\u00f6r att paketera Python-projekt som frist\u00e5ende k\u00f6rbara filer","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\/\">Presenteras<\/a><\/noindex> f\u00f6rsta utg\u00e5van av verktyget <noindex><a rel=\"nofollow\" href=\"https:\/\/pyoxidizer.readthedocs.io\/en\/latest\/index.html\">PyOxidizer<\/a><\/noindex>, vilket till\u00e5ter att paketera ett projekt skrivet i Python i formen av en frist\u00e5ende k\u00f6rbar fil som inkluderar Python-tolken och alla n\u00f6dv\u00e4ndiga bibliotek och resurser f\u00f6r att fungera. S\u00e5dana filer kan k\u00f6ras i milj\u00f6er utan installerad Python-milj\u00f6 eller oberoende av den n\u00f6dv\u00e4ndiga Python-versionen. PyOxidizer kan ocks\u00e5 skapa statiskt l\u00e4nkade k\u00f6rbara filer som inte \u00e4r bundna till systembibliotek. Projektkoden \u00e4r skriven i Rust och <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/indygreg\/PyOxidizer\">sprids<\/a><\/noindex> licensierad under MPL (Mozilla Public License) 2.0. <\/p>\n<p>Projektet \u00e4r baserat p\u00e5 den homonyma modulen f\u00f6r Rust-spr\u00e5ket, som g\u00f6r det m\u00f6jligt att integrera en Python-tolk i Rust-program f\u00f6r att k\u00f6ra Python-skript i dem. PyOxidizer har nu g\u00e5tt bortom ett till\u00e4gg f\u00f6r Rust och positioneras som ett verktyg tillg\u00e4ngligt f\u00f6r en bredare publik f\u00f6r att skapa och distribuera frist\u00e5ende paket med Python. F\u00f6r dem som inte beh\u00f6ver distribuera applikationer som k\u00f6rbara filer erbjuder PyOxidizer m\u00f6jligheter att generera bibliotek som \u00e4r l\u00e4mpliga f\u00f6r l\u00e4nkning med alla applikationer f\u00f6r att integrera PHP-tolken och den n\u00f6dv\u00e4ndiga upps\u00e4ttningen till\u00e4gg.<\/p>\n<p>F\u00f6r slutanv\u00e4ndare f\u00f6renklar leveransen av projektet i form av en enda k\u00f6rbar fil installationen och undanr\u00f6jer behovet av att hantera beroenden, vilket \u00e4r s\u00e4rskilt relevant f\u00f6r komplexa Python-projekt som videoredigerare. F\u00f6r applikationsutvecklare g\u00f6r PyOxidizer det m\u00f6jligt att spara tid p\u00e5 applikationsdistribution utan att beh\u00f6va anv\u00e4nda olika verktyg f\u00f6r att skapa paket f\u00f6r olika operativsystem.<\/p>\n<p>Anv\u00e4ndningen av de f\u00f6reslagna byggarna har ocks\u00e5 en positiv inverkan p\u00e5 prestanda \u2013 filer som genererats i PyOxidizer startar snabbare \u00e4n n\u00e4r man anv\u00e4nder systemets Python tack vare att import och definition av grundmoduler utesluts. I PyOxidizer importeras moduler fr\u00e5n minnet \u2013 alla inbyggda moduler laddas direkt in i minnet och anv\u00e4nds sedan utan att g\u00f6ra anrop till disken. I testerna minskar uppstartstiden f\u00f6r applikationen med PyOxidizer med ungef\u00e4r h\u00e4lften.<\/p>\n<p>Bland redan existerande liknande projekt kan n\u00e4mnas: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.pyinstaller.org\/\">PyInstaller<\/a><\/noindex> (packar upp filen i en tempor\u00e4r katalog och importerar moduler fr\u00e5n den), <noindex><a rel=\"nofollow\" href=\"http:\/\/www.py2exe.org\/\">py2exe<\/a><\/noindex> (kopplad till Windows-plattformen och kr\u00e4ver distribution av flera filer), <noindex><a rel=\"nofollow\" href=\"https:\/\/py2app.readthedocs.io\/en\/latest\/\">py2app<\/a><\/noindex> (kopplad till macOS), <noindex><a rel=\"nofollow\" href=\"https:\/\/cx-freeze.readthedocs.io\/en\/latest\/\">cx-freeze<\/a><\/noindex> (kr\u00e4ver separat paketering av beroenden), <noindex><a rel=\"nofollow\" href=\"https:\/\/shiv.readthedocs.io\/en\/latest\/\">Shiv<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pantsbuild\/pex\">PEX<\/a><\/noindex> (skapar paket i zip-format och kr\u00e4ver att Python finns i systemet), <noindex><a rel=\"nofollow\" href=\"http:\/\/nuitka.net\/pages\/overview.html\">Nuitka<\/a><\/noindex> (kompilerar koden ist\u00e4llet f\u00f6r att integrera tolkaren), <noindex><a rel=\"nofollow\" href=\"https:\/\/pynsist.readthedocs.io\/en\/latest\/index.html\">pynsist<\/a><\/noindex> (kopplad till Windows), <noindex><a rel=\"nofollow\" href=\"https:\/\/www.egenix.com\/products\/python\/PyRun\">PyRun<\/a><\/noindex> (propriet\u00e4r utveckling utan f\u00f6rklaring av hur den fungerar).<\/p>\n<p>I det aktuella utvecklingssteget har PyOxidizer redan implementerat grundl\u00e4ggande funktionalitet f\u00f6r att generera k\u00f6rbara filer f\u00f6r Windows, macOS och Linux. Bland de funktioner som f\u00f6r n\u00e4rvarande inte \u00e4r tillg\u00e4ngliga <noindex><a rel=\"nofollow\" href=\"https:\/\/pyoxidizer.readthedocs.io\/en\/latest\/status.html\">n\u00e4mns<\/a><\/noindex> avsaknad av typisk byggmilj\u00f6, om\u00f6jlighet att generera paket i formaten MSI, DMG och deb\/rpm, problem med paketering av projekt som inkluderar komplexa till\u00e4gg p\u00e5 C-spr\u00e5ket, avsaknad av kommandon f\u00f6r att underh\u00e5lla leverans (\"pyoxidizer add\", \"pyoxidizer analyze\" och \"pyoxidizer upgrade\"), begr\u00e4nsat st\u00f6d f\u00f6r Terminfo och Readline, ingen support f\u00f6r versioner av Python som \u00e4r olika fr\u00e5n 3.7, ingen support f\u00f6r resurskomprimering, om\u00f6jlighet till korskompilering.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Utg\u00e5van av PyOxidizer f\u00f6r att paketera Python-projekt i sj\u00e4lvst\u00e4ndiga k\u00f6rbara filer | ProHoster","description":"Den f\u00f6rsta versionen av verktyget har presenterats","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/35659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=35659"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/35659\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=35659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=35659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=35659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}