Programiranje

PyOxidizer uporablja Rust za izdelavo izvršljivih datotek Python

Cilj novega projekta, napisanega v Rustu, je olajšati pakiranje in distribucijo aplikacije Python kot samostojne binarne izvedljive datoteke, kar je za razvijalce Pythona že dolgo bolelo.

Po mnenju GitHub README PyOxidizer je "zbirka zabojev za rjo, ki olajšajo gradnjo knjižnic in binarnih datotek, ki vsebujejo tolmače Pythona." Razvijalci trdijo, da je s programom PyOxidizer mogoče zgraditi izvedljivo datoteko za aplikacijo Python, ki ima vgrajen tolmač Python, brez drugih odvisnosti med izvajanjem.

PyOxidizer zahteva namestitev Rust 1.31 ali novejše in pakira samo aplikacije, napisane s Pythonom 3.7. Če želite uporabiti PyOxidizer, razvijalec ustvari datoteko TOML, ki opisuje, kako vdelati določeno aplikacijo Python, nato gradi in zažene PyOxidizer s spremenljivko okolja, ki kaže na to datoteko TOML.

PyOxidizer se ločuje od drugih rešitev za pakiranje z uporabo prilagojene gradnje tolmača Python, ki je zasnovan tako, da je statično povezan in vdelan v drug program. Druge rešitve, kot je PyInstaller, prerazporedijo obstoječo zalogo CPython .DLL - priročno in združljivo, vendar ne preveč prilagodljivo. PyOxidizer tudi zapakira bajtno kodo aplikacije Python v izvršljivo sliko in jo naloži neposredno iz pomnilnika (hitro) in ne iz datotečnega sistema (počasneje).

Tako kot PyInstaller tudi PyOxidizer ne izvaja nobene optimizacije kode Python. Drugi projekt, Nuitka, ne samo, da prevaja aplikacije Python za samostojne izvedljive datoteke, temveč tudi poskuša uporabiti optimizacije zmogljivosti za prevedeno kodo. Vendar Nuitka še vedno velja za projekt na ravni beta in veliko predvidenih izboljšav zmogljivosti še ni na voljo.

PyOxidizer je še vedno projekt v zelo zgodnji fazi. Lahko ustvari samo binarne datoteke Linuxa, ker je eden od nadprojektnih projektov, od katerega je odvisen, vdelana različica CPython, trenutno na voljo samo v zgradbah Linuxa.

$config[zx-auto] not found$config[zx-overlay] not found