„PyOxidizer“ programa, skirta „Python“ projektams pakuoti į vykdomuosius failus

PyOksidatorius

Prieš kelias dienas kūrėjai pristatė pirmąją PyOxidizer įrankio versiją, kuris siūlomas kaip įrankis, kurį galima naudoti norint supakuoti „Python“ projektą kaip atskirą vykdomąjį failą, įskaitant „Python“ vertėją ir visas reikalingas bibliotekas bei išteklius.

Tokie failai gali būti vykdomi aplinkose be „Python“ įrankių rinkinio arba neatsižvelgiant į tai, ar yra reikalinga „Python“ versija.

„PyOxidizer“ taip pat gali generuoti su statika susijusius vykdomuosius, kurie nėra susieti su sistemos bibliotekomis. Projekto kodas parašytas „Rust“ kalba ir platinamas pagal MPL („Mozilla Public License“ 2.0).

Apie PyOxidizer?

El proyecto yra pagrįstas to paties pavadinimo „Rust“ kalbos moduliu, kuris leidžia įterpti „Python“ vertėją į „Rust“ programas paleisti ant jų „Python“ scenarijus.

PyOksidatorius dabar jis peržengė „Rust“ įskiepio ribas ir yra laikomas kaip platesnei auditorijai prieinama priemonė atskiriems „Python“ paketams kurti ir platinti.

„PyOxidizer“ yra įrankis, kurio tikslas yra išspręsti problemą, kaip paskirstyti „Python“ programas.

Tiems, kuriems nereikia platinti programų vykdomojo failo forma, „PyOxidizer“ siūlo galimybes sukurti tinkamas bibliotekas, kurias būtų galima susieti su bet kuria programa, kad jose būtų įterptas „Python“ vertėjas ir būtinas plėtinių rinkinys.

„Python“ programų paskirstymas paprastai laikomas neišspręsta problema, nes Russelas Keithas-Magee'as nustatė, kad „Python“ kodų paskirstymas yra egzistencinė grėsmė ilgaamžiškumui. Jo žodžiais, „Python“ niekada neturėjo nuoseklios istorijos, kaip aš atiduodu savo kodą kitam, ypač jei tas kitas asmuo nėra kūrėjas ir tiesiog nori naudoti mano programą.

Galutiniams vartotojams pateikiant projektą vieno vykdomojo failo forma Tai labai supaprastina diegimą ir pašalina priklausomybių pasirinkimo darbą, o tai yra svarbu, pavyzdžiui, sudėtingiems „Python“ projektams, pavyzdžiui, vaizdo redaktoriams.

Nors kita vertus Programų kūrėjams „PyOxidizer“ leidžia sutaupyti laiko organizuojant programos pristatymą nenaudojant skirtingų įrankių kuriant paketus skirtingoms operacinėms sistemoms.

Kaip veikia PyOxidizer?

Naudojant siūlomus kūrinius tai taip pat teigiamai veikia našumą: failai, sukurti „PyOxidizer“, veikia greičiau nei naudojant „Python“ sistemą, pašalinant importą ir apibrėžiant pagrindinius modulius.

„PyOxidizer“, moduliai importuojami iš atminties (Visi įmontuoti moduliai nedelsiant įkeliami į atmintį ir tada naudojami be prieigos prie disko). Atliekant bandymus, programos „PyOxidizer“ paleidimo laikas maždaug perpus sumažėja.

Iš panašių esamų projektų galima pastebėti: PyInstaller (išpakuoja failą į laikiną katalogą ir iš jo importuoja modulius).

  • Py2exe (susietas su „Windows“ platforma ir reikalingas kelių failų platinimas), py2app (susietas su „MacOS“)
  • „Cx-freeze“ (reikalinga atskira priklausomybės pakuotė), „Shiv“ ir PEX (sudaro „ZIP“ paketą ir sistemoje reikia „Python“)
  • „Nuitka“ (sudaromas kodas, o ne įterptasis vertėjas), „pynsist“ (susietas su „Windows“), „PyRun“ (nuosavybės teisių plėtra, nepaaiškinant veikimo principų).

Dabartiniame vystymosi etape „PyOxidizer“ jau įdiegė pagrindinę funkciją generuoti vykdomuosius failus, skirtus „Windows“, „MacOS“ ir „Linux“.

Iš toli siekiančių galimybių pažymėta, kad nėra standartinės kompiliavimo aplinkos, nesugebėjimas sugeneruoti paketo MSI, DMG ir deb / rpm formatu, o projekto pakavimo problemos susijusios su sudėtingais C kalbos plėtiniais.

Nors nėra instrukcijų, kaip palaikyti pristatymą („pyoxidizer add“, „pyoxidizer analysis“ ir „pyoxidizer upgrade“) ir ribota parama „Terminfo“ ir „Readline“, kitų versijų, išskyrus „Python 3.7“, palaikymo trūkumas, išteklių glaudinimo palaikymo trūkumas, nesugebėjimas sukompiliuoti.

Fuente: https://pyoxidizer.readthedocs.io


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.