A PyOxidizer kiadása Python-projektek csomagolására önálló futtatható fájlokká

Bemutatva az első kiadás az eszközből PyOxidizer, amely lehetővé teszi, hogy a Python nyelvű projektet önálló végrehajtható fájl formájában csomagolják, beleértve a Python interpretert és minden szükséges könyvtárat és erőforrást. Az ilyen fájlok futtathatók olyan környezetekben is, ahol nincs telepítve Python eszközkészlet, vagy függetlenül a szükséges Python verzió meglététől. A PyOxidizer statikusan kapcsolt végrehajtható fájlokat is tud létrehozni, amelyek nincsenek az operációs rendszer könyvtáraihoz kötve. A projekt kódja Rust nyelven íródott, és terjesztésre kerül az MPL (Mozilla Public License) 2.0 licenc alatt áll.

A projekt az azonos nevű Rust modulon alapul, amely lehetővé teszi Python interpreter beágyazását Rust programokba, hogy Python szkripteket futtathassanak bennük. A PyOxidizer most már túllépett a Rust kiegészítés keretein, és egy szélesebb közönség számára is elérhető eszközként pozicionálódik, amely önálló Python csomagok létrehozását és terjesztését teszi lehetővé. Azok számára, akik nem szükséges alkalmazásokat végrehajtható fájlként terjeszteni, a PyOxidizer lehetőségeket biztosít könyvtárak generálására, amelyek bármely alkalmazással összekapcsolhatók a Python interpreterhez és a szükséges bővítményekhez.

A végfelhasználók számára a projekt egyetlen végrehajtható fájl formájában történő szállítása jelentősen leegyszerűsíti a telepítést és megszünteti a függőségek keresésével kapcsolatos munkát, ami különösen fontos lehet a Python nehéz projektjei esetében, mint például a videószerkesztők. Az alkalmazásfejlesztők számára a PyOxidizer időt takarít meg az alkalmazás szállításának megszervezésében, anélkül, hogy különböző eszközöket kellene használniuk különböző operációs rendszerek csomagolásához.

A javasolt építmények alkalmazása szintén pozitív hatással van a teljesítményre – a PyOxidizer-ben generált fájlok gyorsabban indulnak, mint a rendszeres Python használatával, mivel kizárják az alap modulok importálását és meghatározását. A PyOxidizer-ben a modulok a memóriából kerülnek importálásra – minden beágyazott modul azonnal betöltődik a memóriába és ezután lemez-hozzáférés nélkül használható.) A tesztekben a PyOxidizer használatával az alkalmazás indítási ideje körülbelül a felére csökken.

A meglévő hasonló projektek közül említést érdemel: PyInstaller (csomagot bont le ideiglenes könyvtárba, és importálja a modulokat belőle), py2exe (Windows platformra van kötve, és több fájl terjesztését igényli), py2app (macOS-hez van kötve), cx-freeze (külön csomagolású függőségeket igényel), Shiv és PEX (zip formátumban csomagolja, és Python meglétét követeli a rendszerben), Nuitka (a kódot fordítja le, nem az interpretert építi be), pynsist (Windows-hoz van kötve), PyRun (szabadalmaztatott fejlesztés, működési elvek nélkül).

A PyOxidizer jelenlegi fejlettségi szakaszában már megvalósult a fő funkció a Windows, macOS és Linux végrehajtható fájlok generálására. A még nem elérhető lehetőségek közé tartozik megjegyzendő a standard fejlesztői környezet hiánya, a csomagok generálásának lehetetlensége MSI, DMG és deb/rpm formátumokban, projektek csomagolásának problémái, amelyek összetett C kiterjesztéseket tartalmaznak, hiányzó parancsok a szállítás támogatásához („pyoxidizer add”, „pyoxidizer analyze” és „pyoxidizer upgrade”), korlátozott Terminfo és Readline támogatás, Python 3.7-nél eltérő kiadások támogatásának hiánya, források tömörítésének hiánya, keresztfordítás lehetetlensége.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster