PyOxidizer je pomôcka na balenie projektov Pythonu do spustiteľných súborov

PyOxidant

Pred pár dňami vývojári predstavili prvú verziu obslužného programu PyOxidizer, ktorá sa ponúka ako utilita, ktorá sa dá použiť na zabalenie projektu Pythonu do samostatného spustiteľného súboruvrátane tlmočníka Pythonu a všetkých potrebných knižníc a zdrojov.

Takéto súbory je možné spúšťať v prostrediach bez nainštalovaného balíka nástrojov Python alebo bez ohľadu na dostupnosť požadovanej verzie Pythonu.

PyOxidizer môže tiež generovať staticky súvisiace spustiteľné súbory, ktoré nie sú spojené so systémovými knižnicami. Kód projektu je napísaný v jazyku Rust a je distribuovaný pod MPL (Mozilla Public License) 2.0.

O PyOxidátore?

Projekt je založený na rovnomennom module pre jazyk Rust, ktorý umožňuje vložiť do programov Rust tlmočníka Pythonu spustiť na nich skripty Pythonu.

PyOxidant Teraz ide nad rámec doplnku pre Rust a je umiestnený ako nástroj dostupný širšiemu publiku na vytváranie a distribúciu samostatných balíkov Python.

PyOxidizer je pomôcka, ktorá si kladie za cieľ vyriešiť problém distribúcie aplikácií Pythonu.

Pre tých, ktorí nepotrebujú distribuovať aplikácie vo forme spustiteľného súboru, ponúka PyOxidizer príležitosti na generovanie vhodných knižníc na prepojenie s akoukoľvek aplikáciou, do ktorej je možné vložiť tlmočník Python a potrebnú sadu rozšírení.

Distribúcia aplikácií v Pythone sa všeobecne považuje za nevyriešený problém, pretože Russel Keith-Magee označil distribúciu kódu ako existenčnú hrozbu pre dlhovekosť pre Python. Podľa jeho slov Python nikdy nemal konzistentnú históriu toho, ako dávam svoj kód niekomu inému, najmä ak táto iná osoba nie je vývojár a chce iba použiť moju aplikáciu.

Pre koncových používateľov je dodanie projektu ako jeden spustiteľný súbor Veľmi to zjednodušuje inštaláciu a eliminuje prácu s výberom závislostí, čo je dôležité napríklad pri zložitých projektoch v jazyku Python, ako sú napríklad video editory.

Zatiaľ čo na druhej strane Pre vývojárov aplikácií umožňuje program PyOxidizer ušetriť čas pri organizácii doručenia aplikácie bez nutnosti použitia rôznych nástrojov na vytváranie balíkov pre rôzne operačné systémy.

Ako funguje PyOxidizer?

Pomocou navrhovaných zostáv má tiež pozitívny vplyv na výkon: súbory vygenerované v PyOxidizéri bežia rýchlejšie ako v systéme Python odstránením importu a definovaním základných modulov.

V PyOxidátore, moduly sa importujú z pamäte (všetky vstavané moduly sa okamžite načítajú do pamäte a potom sa používajú bez prístupu na disk). Pri testovaní je čas spustenia aplikácie pomocou programu PyOxidizer zhruba polovičný.

Z podobných existujúcich projektov je možné pozorovať: PyInstaller (rozbalí súbor do dočasného adresára a importuje z neho moduly).

  • Py2exe (prepojený s platformou Windows a vyžaduje distribúciu viacerých súborov), py2app (prepojený s macOS)
  • Cx-freeze (vyžaduje samostatné balenie závislostí), Shiv a PEX (tvoria balíček zip a vyžadujú v systéme Python)
  • Nuitka (kompiluje kód, nie vložený tlmočník), pynsist (prepojený s Windows), PyRun (vlastný vývoj bez vysvetlenia princípov činnosti).

V súčasnej fáze vývoja PyOxidizer už implementoval hlavné funkcie na generovanie spustiteľných súborov pre Windows, macOS a Linux.

Z ďalekosiahlych schopností bola zaznamenaná absencia štandardného kompilačného prostredia, nemožnosť vygenerovať balík vo formáte MSI, DMG a deb / rpm, s problémami s balením pre projekty, ktoré zahŕňajú komplexné rozšírenia jazyka C.

Zatiaľ čo absencia pokynov na podporu doručenia („pyoxidizer add“, „pyoxidizer analyze“ a „pyoxidizer upgrade“) a obmedzená podpora pre Terminfo a Readline, nedostatok podpory pre iné verzie ako Python 3.7, nedostatok podpory pre kompresiu zdrojov, nemožnosť krížového kompilácie.

Fuente: https://pyoxidizer.readthedocs.io


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.