PyOxidizer nástroj pro balení projektů Pythonu do spustitelných souborů

PyOxidátor

Před pár dny vývojáři představili první verzi obslužného programu PyOxidizer, který je nabízen jako nástroj, který lze použít k zabalení projektu Pythonu do samostatného spustitelného souboru, včetně tlumočníka Pythonu a všech potřebných knihoven a zdrojů.

Takové soubory lze spouštět v prostředích bez nainstalované sady nástrojů Python nebo bez ohledu na dostupnost požadované verze Pythonu.

PyOxidizer může také generovat staticky související spustitelné soubory, které nejsou spojeny se systémovými knihovnami. Kód projektu je napsán v jazyce Rust a je distribuován pod MPL (Mozilla Public License) 2.0.

O produktu PyOxidizer?

El Proyecto je založen na modulu se stejným názvem pro jazyk Rust, který umožňuje vložit do programů Rust interpreta Pythonu spouštět na nich skripty Pythonu.

PyOxidátor nyní se přesunul nad rámec pluginu pro Rust a je umístěn jako nástroj dostupný širšímu publiku pro vytváření a distribuci samostatných balíčků Pythonu.

PyOxidizer je nástroj, jehož cílem je vyřešit problém distribuce aplikací v Pythonu.

Pro ty, kteří nepotřebují distribuovat aplikace ve formě spustitelného souboru, nabízí PyOxidizer příležitosti ke generování vhodných knihoven pro propojení s jakoukoli aplikací pro vložení tlumočníka Pythonu a potřebné sady rozšíření do nich.

Distribuce aplikací v Pythonu je obecně považována za nevyřešený problém, protože Russel Keith-Magee označil distribuci kódu jako existenční hrozbu pro dlouhověkost pro Python. Podle jeho slov Python nikdy neměl konzistentní historii toho, jak dávám svůj kód někomu jinému, zvláště pokud tato jiná osoba není vývojář a chce jen použít moji aplikaci.

Pro koncové uživatele doručování projektu ve formě jediného spustitelného souboru Značně zjednodušuje instalaci a eliminuje práci s výběrem závislostí, což je důležité například pro složité projekty v Pythonu, jako jsou například video editory.

Zatímco na druhé straně Pro vývojáře aplikací PyOxidizer jim umožňuje ušetřit čas při organizaci doručení aplikace aniž byste museli používat různé nástroje k vytváření balíčků pro různé operační systémy.

Jak funguje PyOxidizer?

Pomocí navrhovaných sestavení má také pozitivní vliv na výkon: soubory generované v PyOxidizer běží rychleji než v systému Python odstraněním importu a definováním základních modulů.

V PyOxidátoru moduly jsou importovány z paměti (Všechny vestavěné moduly jsou okamžitě načteny do paměti a poté použity bez přístupu na disk). Při testování je doba spuštění aplikace s PyOxidizer zhruba poloviční.

Z podobných existujících projektů je možné pozorovat: PyInstaller (rozbalí soubor do dočasného adresáře a importuje z něj moduly).

  • Py2exe (propojený s platformou Windows a vyžaduje vícenásobnou distribuci souborů), py2app (propojený s macOS)
  • Cx-freeze (vyžaduje samostatné balení závislostí), Shiv a PEX (tvoří balíček zip a vyžadují v systému Python)
  • Nuitka (kompiluje kód, ne vestavěný tlumočník), pynsist (propojený s Windows), PyRun (proprietární vývoj bez vysvětlení pracovních principů).

V současné fázi vývoje PyOxidizer již implementoval hlavní funkce pro generování spustitelných souborů pro Windows, macOS a Linux.

Z dalekosáhlých schopností si všimli absence standardního prostředí kompilace, neschopnosti generovat balíček ve formátu MSI, DMG a deb / rpm, s problémy s balením u projektů, které zahrnují komplexní rozšíření jazyka C.

Zatímco absence pokynů k podpoře vydání („pyoxidizer add“, „pyoxidizer analyze“ a „pyoxidizer upgrade“) a omezená podpora pro Terminfo a Readline, nedostatek podpory pro jiné verze než Python 3.7, nedostatek podpory pro komprese zdrojů, neschopnost překládat.

zdroj: https://pyoxidizer.readthedocs.io


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.