PyOxidizerin julkaisu Python-projektien pakkaamiseksi itsenäisiksi suoritettaviksi tiedostoiksi

Lähettäjä apuohjelman ensimmäinen julkaisu PyOksidaattori, jonka avulla voit pakata projektin Pythonissa itsenäiseksi suoritettavaksi tiedostoksi, mukaan lukien Python-tulkin ja kaikki työhön tarvittavat kirjastot ja resurssit. Tällaisia ​​tiedostoja voidaan suorittaa ympäristöissä, joissa Python-työkaluja ei ole asennettu tai vaaditusta Python-versiosta riippumatta. PyOxidizer voi myös luoda staattisesti linkitettyjä suoritettavia tiedostoja, joita ei ole linkitetty järjestelmäkirjastoihin. Projektikoodi on kirjoitettu kielellä Rust and jakelija lisensoitu MPL (Mozilla Public License) 2.0:lla.

Projekti perustuu samannimiseen Rust-kielimoduuliin, jonka avulla Rust-ohjelmiin voidaan upottaa Python-tulkki Python-skriptien suorittamiseksi. PyOxidizer on nyt mennyt pidemmälle kuin Rust-lisäosa, ja se on sijoitettu työkaluksi itsenäisten Python-pakettien rakentamiseen ja jakeluun laajemmalle yleisölle. Niille, joiden ei tarvitse jakaa sovelluksia suoritettavana tiedostona, PyOxidizer tarjoaa mahdollisuuden luoda kirjastoja, jotka sopivat linkitettäväksi mihin tahansa sovellukseen Python-tulkin ja tarvittavien laajennusten upottamiseksi.

Loppukäyttäjille projektin toimittaminen yhtenä suoritettavana tiedostona yksinkertaistaa huomattavasti asennusta ja eliminoi riippuvuuksien valintatyön, mikä on tärkeää esimerkiksi monimutkaisissa Python-projekteissa, kuten videoeditoreissa. Sovelluskehittäjille PyOxidizerin avulla voit säästää aikaa sovellusten toimituksen järjestämiseen ilman, että sinun tarvitsee käyttää erilaisia ​​työkaluja pakettien luomiseen eri käyttöjärjestelmille.

Ehdotettujen kokoonpanojen käytöllä on myös positiivinen vaikutus suorituskykyyn - PyOxidizerissa luodut tiedostot toimivat nopeammin kuin järjestelmä Pythonia käytettäessä johtuen tuonnin ja perusmoduulien määrittelyn eliminoinnista. PyOxidizerissa moduulit tuodaan muistista - kaikki sisäänrakennetut moduulit ladataan välittömästi muistiin ja niitä käytetään sitten ilman levyä). Testeissä sovelluksen käynnistysaika PyOxidizeriä käytettäessä lyhenee noin puoleen.

Jo olemassa olevista vastaavista projekteista voidaan mainita seuraavat: PyInstaller (purkaa tiedoston väliaikaiseen hakemistoon ja tuo moduulit siitä), py2exe (sidottu Windows-alustaan ​​ja vaatii useiden tiedostojen jakamisen), py2app (sidottu macOS:ään), cx-freeze (vaatii erillisen riippuvuuspakkauksen), Shiv и PEX (muodostaa paketin zip-muodossa ja vaatii Pythonin järjestelmässä), yö- (kääntää koodin tulkin upottamisen sijaan), pynisti (sidottu Windowsiin) PyRun (omistettu kehitys ilman toimintaperiaatteiden selitystä).

Nykyisessä kehitysvaiheessa PyOxidizer on jo toteuttanut päätoiminnot suoritettavien tiedostojen luomiseksi Windowsille, macOS:lle ja Linuxille. Tällä hetkellä käytettävissä olevista mahdollisuuksista juhlitaan standardin rakennusympäristön puute, kyvyttömyys luoda paketteja MSI-, DMG- ja deb/rpm-muodoissa, ongelmia pakkausprojekteissa, jotka sisältävät monimutkaisia ​​C-kielen laajennuksia, toimitusta tukevien komentojen puute ("pyoxidizer add", "pyoxidizer analysoi" ja "pyoxidizer upgrade" ), rajoitettu tuki Terminfolle ja Readlinelle, muiden kuin Python 3.7 -julkaisujen tuen puute, resurssien pakkaamisen tuen puute, ristikääntämisen kyvyttömyys.

Lähde: opennet.ru

Lisää kommentti