första utgÄvan av verktyget , vilket tillÄter att paketera ett projekt skrivet i Python i formen av en fristÄende körbar fil som inkluderar Python-tolken och alla nödvÀndiga bibliotek och resurser för att fungera. SÄdana filer kan köras i miljöer utan installerad Python-miljö eller oberoende av den nödvÀndiga Python-versionen. PyOxidizer kan ocksÄ skapa statiskt lÀnkade körbara filer som inte Àr bundna till systembibliotek. Projektkoden Àr skriven i Rust och licensierad under MPL (Mozilla Public License) 2.0.
Projektet Àr baserat pÄ den homonyma modulen för Rust-sprÄket, som gör det möjligt att integrera en Python-tolk i Rust-program för att köra Python-skript i dem. PyOxidizer har nu gÄtt bortom ett tillÀgg för Rust och positioneras som ett verktyg tillgÀngligt för en bredare publik för att skapa och distribuera fristÄende paket med Python. För dem som inte behöver distribuera applikationer som körbara filer erbjuder PyOxidizer möjligheter att generera bibliotek som Àr lÀmpliga för lÀnkning med alla applikationer för att integrera PHP-tolken och den nödvÀndiga uppsÀttningen tillÀgg.
För slutanvÀndare förenklar leveransen av projektet i form av en enda körbar fil installationen och undanröjer behovet av att hantera beroenden, vilket Àr sÀrskilt relevant för komplexa Python-projekt som videoredigerare. För applikationsutvecklare gör PyOxidizer det möjligt att spara tid pÄ applikationsdistribution utan att behöva anvÀnda olika verktyg för att skapa paket för olika operativsystem.
AnvĂ€ndningen av de föreslagna byggarna pĂ„verkar ocksĂ„ prestandan positivt â filer som genereras i PyOxidizer startar snabbare Ă€n nĂ€r man anvĂ€nder system-Python tack vare att import och definiering av grundmoduler undviks. I PyOxidizer importeras moduler frĂ„n minnet â alla inbyggda moduler laddas omedelbart in i minnet och anvĂ€nds sedan utan att behöva hĂ€nvisa till disken. Under tester minskas starttiden för applikationen med PyOxidizer med ungefĂ€r hĂ€lften.
Bland redan existerande liknande projekt kan nÀmnas: (packar upp filen i en temporÀr katalog och importerar moduler frÄn den), (kopplad till Windows-plattformen och krÀver distribution av flera filer), (kopplad till macOS), (krÀver separat paketering av beroenden), och (skapar paket i zip-format och krÀver att Python finns i systemet), (kompilerar koden istÀllet för att integrera tolkaren), (kopplad till Windows), (proprietÀr utveckling utan förklaring av hur den fungerar).
I det aktuella utvecklingssteget har PyOxidizer redan implementerat grundlĂ€ggande funktionalitet för att generera körbara filer för Windows, macOS och Linux. Bland de funktioner som för nĂ€rvarande inte Ă€r tillgĂ€ngliga Ă€r bristen pĂ„ en typisk byggmiljö, omöjligheten att generera paket i formaten MSI, DMG och deb/rpm, problem med paketering av projekt som innehĂ„ller komplexa C-förlĂ€ngningar, brist pĂ„ kommandon för att stödja leverans (âpyoxidizer addâ, âpyoxidizer analyzeâ och âpyoxidizer upgradeâ), begrĂ€nsat stöd för Terminfo och Readline, brist pĂ„ stöd för versioner som skiljer sig frĂ„n Python 3.7, brist pĂ„ stöd för resurskomprimering, och omöjligheten till korskompilering.
KĂ€lla: opennet.ru
