Vrystelling van PyOxidizer om Python-projekte in selfstandige uitvoerbare programme te verpak

Bekendgestel eerste vrystelling van die hulpprogram PyOxidizer, wat jou toelaat om 'n Python-projek te verpak in 'n selfstandige uitvoerbare lêer wat die Python-tolk insluit en al die biblioteke en hulpbronne wat nodig is vir werk. Sulke lêers kan in omgewings uitgevoer word sonder dat Python-gereedskap geïnstalleer is of ongeag die vereiste weergawe van Python. PyOxidizer kan ook staties gekoppelde uitvoerbare programme genereer wat ook nie aan stelselbiblioteke gekoppel is nie. Die projekkode is geskryf in Rust en versprei deur gelisensieer onder MPL (Mozilla Public License) 2.0.

Die projek is gebaseer op die module met dieselfde naam vir die Rust-taal, wat jou toelaat om 'n Python-tolk in Rust-programme in te bed om Python-skrifte daarin uit te voer. PyOxidizer het nou verder beweeg as 'n Rust-byvoeging en posisioneer homself as 'n hulpmiddel vir die bou en verspreiding van selfstandige Python-pakkette vir 'n groter gehoor. Vir diegene wat nie toepassings as 'n uitvoerbare program hoef te versprei nie, bied PyOxidizer die vermoë om biblioteke te genereer wat geskik is om met enige toepassing te koppel om 'n Python-tolk en die nodige stel uitbreidings daarin in te sluit.

Vir eindgebruikers vergemaklik die lewering van die projek as 'n enkele uitvoerbare lêer installasie en elimineer die werk om afhanklikhede te kies, wat relevant is, byvoorbeeld vir komplekse Python-projekte, soos videoredigeerders. Vir toepassingsontwikkelaars stel PyOxidizer u in staat om tyd te bespaar om die aflewering van 'n toepassing te organiseer, sonder om verskillende gereedskap te gebruik om pakkette vir verskillende bedryfstelsels te genereer.

Die gebruik van die voorgestelde samestellings het ook 'n positiewe uitwerking op werkverrigting - die lêers wat in PyOxidizer gegenereer word, loop vinniger as wanneer die stelsel Python gebruik word as gevolg van die uitskakeling van invoere en die definisie van basiese modules. In PyOxidizer word modules uit die geheue ingevoer - alle ingeboude modules word onmiddellik in die geheue gelaai en dan sonder skyftoegang gebruik). In toetse word die toepassing se aanvangstyd wanneer PyOxidizer gebruik word met ongeveer die helfte verminder.

Van die reeds bestaande soortgelyke projekte kan ons daarop let: PyInstaller (pak die lêer uit in 'n tydelike gids en voer modules daaruit in), py2exe (gekoppel aan die Windows-platform en vereis verspreiding van veelvuldige lêers), py2app (gekoppel aan macOS), cx-vries (vereis aparte afhanklikheidsverpakking), Shiv и PEX (vorm 'n pakket in zip-formaat en vereis Python op die stelsel), nag (stel die kode saam eerder as om die tolk in te bed), aandring (gekoppel aan Windows), PyRun (eiendomsontwikkeling sonder om die beginsels van werking te verduidelik).

Op die huidige stadium van ontwikkeling het PyOxidizer reeds die hooffunksie geïmplementeer vir die generering van uitvoerbare lêers vir Windows, macOS en Linux. Van die geleenthede wat nog nie beskikbaar is nie gevierde gebrek aan 'n tipiese bou-omgewing, onvermoë om pakkette in MSI-, DMG- en deb/rpm-formate te genereer, probleme met verpakkingsprojekte wat komplekse C-uitbreidings insluit, gebrek aan opdragte om aflewering te vergesel ("pyoxidizer voeg", "pyoxidizer analiseer" en "pyoxidizer upgrade" ), beperkte ondersteuning vir Terminfo en Readline, geen ondersteuning vir vrystellings anders as Python 3.7, geen ondersteuning vir hulpbronkompressie, geen kruissamestelling.

Bron: opennet.ru

Voeg 'n opmerking