{"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\/da\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly","title":{"rendered":"Udgivelsen af PyOxidizer til pakking af Python-projekter i selvst\u00e6ndige eksekverbare 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\/\">Pr\u00e6senteret<\/a><\/noindex> f\u00f8rste udgave af v\u00e6rkt\u00f8jet <noindex><a rel=\"nofollow\" href=\"https:\/\/pyoxidizer.readthedocs.io\/en\/latest\/index.html\">PyOxidizer<\/a><\/noindex>, der g\u00f8r det muligt at pakke et projekt skrevet i Python i form af en selvst\u00e6ndig eksekverbar fil, der inkluderer Python-fortolkeren og alle n\u00f8dvendige biblioteker og ressourcer. S\u00e5danne filer kan udf\u00f8res i milj\u00f8er uden installeret Python-v\u00e6rkt\u00f8j s\u00e6t eller uafh\u00e6ngigt af, om den n\u00f8dvendige version af Python er til stede. PyOxidizer kan ogs\u00e5 generere statisk sammenkoblede eksekverbare filer, som ikke er bundet til systembiblioteker. Projektkoden er skrevet i Rust, og <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/indygreg\/PyOxidizer\">distribueres<\/a><\/noindex> under MPL (Mozilla Public License) 2.0. <\/p>\n<p>Projektet er baseret p\u00e5 et modul med samme navn til Rust-sproget, som g\u00f8r det muligt at integrere Python-fortolkeren i Rust-programmer til at udf\u00f8re Python-scripts. PyOxidizer er nu g\u00e5et ud over et supplement til Rust og pr\u00e6senteres som et tilg\u00e6ngeligt v\u00e6rkt\u00f8j for et bredere publikum til at danne og distribuere selvforsynende pakker med Python. For dem, der ikke har brug for at distribuere applikationer som eksekverbare filer, giver PyOxidizer muligheder for at generere biblioteker, der kan linkes med enhver applikation for at integrere Python-fortolkeren og det n\u00f8dvendige s\u00e6t af udvidelser.<\/p>\n<p>For slutt brugere g\u00f8r leveringen af projektet som en enkelt eksekverbar fil installationen betydeligt enklere og eliminerer behovet for at finde afh\u00e6ngigheder, hvilket er relevant for komplekse Python-projekter som videoredigeringsprogrammer. For udviklere g\u00f8r PyOxidizer det muligt at spare tid p\u00e5 at organisere leveringen af applikationen uden behov for at bruge forskellige v\u00e6rkt\u00f8jer til at danne pakker for forskellige operativsystemer.<\/p>\n<p>Anvendelsen af de foresl\u00e5ede builds p\u00e5virker ogs\u00e5 ydeevnen positivt \u2014 de filer, der genereres i PyOxidizer, starter hurtigere end ved brug af systemets Python, da import og definition af de grundl\u00e6ggende moduler udelades. I PyOxidizer importeres moduler fra hukommelsen \u2014 alle indbyggede moduler indl\u00e6ses straks i hukommelsen og bruges derefter uden at blive kaldt fra disken. I testene blev opstartstiden for applikationen reduceret med omtrent det halve ved brug af PyOxidizer.<\/p>\n<p>Af allerede eksisterende lignende projekter kan n\u00e6vnes: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.pyinstaller.org\/\">PyInstaller<\/a><\/noindex> (udpakker filen til en midlertidig mappe og importerer moduler fra den), <noindex><a rel=\"nofollow\" href=\"http:\/\/www.py2exe.org\/\">py2exe<\/a><\/noindex> (bundet til Windows-platformen og kr\u00e6ver distribution af flere filer), <noindex><a rel=\"nofollow\" href=\"https:\/\/py2app.readthedocs.io\/en\/latest\/\">py2app<\/a><\/noindex> (bundet til macOS), <noindex><a rel=\"nofollow\" href=\"https:\/\/cx-freeze.readthedocs.io\/en\/latest\/\">cx-freeze<\/a><\/noindex> (kr\u00e6ver s\u00e6rskilt emballering af afh\u00e6ngigheder), <noindex><a rel=\"nofollow\" href=\"https:\/\/shiv.readthedocs.io\/en\/latest\/\">Shiv<\/a><\/noindex> og <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pantsbuild\/pex\">PEX<\/a><\/noindex> (danner pakke i zip-format og kr\u00e6ver, at Python er installeret p\u00e5 systemet), <noindex><a rel=\"nofollow\" href=\"http:\/\/nuitka.net\/pages\/overview.html\">Nuitka<\/a><\/noindex> (kompilerer koden og integrerer ikke fortolkeren), <noindex><a rel=\"nofollow\" href=\"https:\/\/pynsist.readthedocs.io\/en\/latest\/index.html\">pynsist<\/a><\/noindex> (bundet til Windows), <noindex><a rel=\"nofollow\" href=\"https:\/\/www.egenix.com\/products\/python\/PyRun\">PyRun<\/a><\/noindex> (propriet\u00e6r udvikling uden forklaring af funktionsprincipperne).<\/p>\n<p>P\u00e5 nuv\u00e6rende udviklingstrin har PyOxidizer allerede implementeret den grundl\u00e6ggende funktionalitet til at generere eksekverbare filer til Windows, macOS og Linux. Blandt de stadig ikke tilg\u00e6ngelige muligheder <noindex><a rel=\"nofollow\" href=\"https:\/\/pyoxidizer.readthedocs.io\/en\/latest\/status.html\">bem\u00e6rket<\/a><\/noindex> manglende standard build-milj\u00f8, umulighed for at generere pakker i formaterne MSI, DMG og deb\/rpm, problemer med at pakke projekter, der inkluderer komplekse udvidelser i C-sprog, mangel p\u00e5 kommandoer til at st\u00f8tte leveringen (\u2018pyoxidizer add\u2019, \u2018pyoxidizer analyze\u2019 og \u2018pyoxidizer upgrade\u2019), begr\u00e6nset support for Terminfo og Readline, mangel p\u00e5 st\u00f8tte til versioner, der er forskellige fra Python 3.7, mangel p\u00e5 st\u00f8tte til ressourcekomprimering, umulighed for krydskompilering.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Kilde: <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.3 - 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\/da\/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.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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 Udgivelsen af PyOxidizer til pakning af Python-projekter som selvforsynende eksekverbare filer | ProHoster","description":"Den f\u00f8rste version af v\u00e6rkt\u00f8jet er blevet pr\u00e6senteret","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-pyoxidizer-dlya-upakovki-python-proektov-v-samodostatochnye-ispolnyaemye-fajly","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/35659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=35659"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/35659\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=35659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=35659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=35659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}