PyOxidizer segédprogram a Python-projektek futtatható fájlokba csomagolásához

PyOxidizer

Néhány nappal ezelőtt a fejlesztők bemutatták a PyOxidizer segédprogram első verzióját, amelyet felajánlanak egy segédprogram, amely egy Python-projekt külön futtatható fájlként történő csomagolására használható, beleértve a Python tolmácsot, valamint az összes szükséges könyvtárat és erőforrást.

Az ilyen fájlok futtathatóak a telepített Python eszköztár nélkül, vagy a Python szükséges verziójának elérhetőségétől függetlenül.

A PyOxidizer statikusan kapcsolódó futtatható fájlokat is létrehozhat, amelyek nincsenek társítva a rendszer könyvtárakhoz. A projekt kódja Rust nyelven íródott, és az MPL (Mozilla Public License) 2.0 alatt került terjesztésre.

A PyOxidizerről?

A projekt a Rust nyelv azonos nevű modulján alapul, amely lehetővé teszi Python tolmács beágyazását a Rust programokba hogy futtasson rajtuk Python szkripteket.

PyOxidizer most túllépett a Rust pluginján, és a szélesebb közönség számára elérhető eszközként önálló Python-csomagok építéséhez és terjesztéséhez van elhelyezve.

PyOxidizer segédprogram, amelynek célja a Python-alkalmazások terjesztésének problémájának megoldása.

Azok számára, akiknek nem kell futtatható fájl formájában terjeszteniük az alkalmazásokat, a PyOxidizer lehetőséget kínál megfelelő könyvtárak létrehozására, amelyek összekapcsolhatók bármely alkalmazással, hogy beágyazhassák a Python-tolmácsot és a szükséges bővítménykészletet.

A Python alkalmazás terjesztését általában megoldatlan problémának tekintik, mivel Russel Keith-Magee a kódelosztást egzisztenciális fenyegetésként határozta meg a hosszú élettartamra a Python számára. Szavai szerint a Pythonnak soha nem volt konzisztens története arról, hogyan adom át a kódomat másnak, különösen, ha ez a másik személy nem fejlesztő, és csak az alkalmazásomat akarja használni.

Végfelhasználók számára egy projekt futtatása egyetlen futtatható fájl formájában Ez nagymértékben leegyszerűsíti a telepítést és kiküszöböli a függőségek kiválasztásának munkáját, ami fontos például olyan összetett Python-projekteknél, mint például a videoszerkesztők.

Míg viszont Az alkalmazásfejlesztők számára a PyOxidizer lehetővé teszi számukra, hogy időt takarítsanak meg egy alkalmazás kézbesítésének megszervezésében anélkül, hogy különböző eszközöket kellene használnia a különböző operációs rendszerek csomagjainak létrehozásához.

Hogyan működik a PyOxidizer?

A javasolt buildek használata pozitívan hat a teljesítményre is: a PyOxidizer alkalmazásban létrehozott fájlok gyorsabban futnak, mint a Python rendszer használata esetén az import eltávolításával és az alapvető modulok meghatározásával.

A PyOxidizerben modulokat importálunk a memóriából (Az összes beépített modult azonnal betölti a memóriába, majd lemezelérés nélkül használja.) A tesztelés során az alkalmazás PyOxidizer alkalmazással történő indítási ideje nagyjából a felére csökken.

Hasonló meglévő projektekből megfigyelhető: PyInstaller (kicsomagolja a fájlt egy ideiglenes könyvtárba, és modulokat importál belőle).

  • Py2exe (a Windows platformhoz kapcsolódik és több fájlterjesztést igényel), py2app (a MacOS-hoz kapcsolódik)
  • Cx-freeze (külön függőségi csomagolást igényel), Shiv és PEX (zip csomagot alkotnak, és Python szükséges a rendszeren)
  • Nuitka (a kódot fordítja, nem a beágyazott tolmács), pynsist (Windows-hoz kapcsolódik), PyRun (saját fejlesztés a működési elvek magyarázata nélkül).

A jelenlegi fejlődési szakaszban A PyOxidizer már megvalósította a fő funkciót a futtatható fájlok előállításához Windows, MacOS és Linux számára.

A messzemenő képességek közül megjegyezték a szabványos fordítási környezet hiányát, az MSI, DMG és deb / rpm formátumú csomagok előállításának képtelenségét, a C nyelv komplex kiterjesztésével járó projektek csomagolási problémáival.

Míg a kiadást támogató utasítások hiánya ("pyoxidizer add", "pyoxidizer analysis" és "pyoxidizer upgrade") és a Terminfo és a Readline korlátozott támogatása, a Python 3.7-től eltérő verziók támogatásának hiánya, az erőforrás-tömörítés támogatásának hiánya, képtelen keresztbe fordítani.

forrás: https://pyoxidizer.readthedocs.io


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.