PyOxidizer-apuohjelma Python-projektien pakkaamiseksi suoritettaviksi tiedostoiksi

PyOksidaattori

Muutama päivä sitten kehittäjät esittivät ensimmäisen version PyOxidizer-apuohjelmasta, jota tarjotaan nimellä apuohjelma, jota voidaan käyttää Python-projektin pakkaamiseen erilliseen suoritettavaan tiedostoon, mukaan lukien Python-tulkki ja kaikki tarvittavat kirjastot ja resurssit.

Tällaisia ​​tiedostoja voidaan ajaa ympäristöissä, joissa Python-työkalupakki ei ole asennettuna, tai vaaditun Python-version saatavuudesta riippumatta.

PyOxidizer voi myös luoda staattisesti liittyviä suoritettavia tiedostoja, joita ei ole liitetty järjestelmäkirjastoihin. Projektikoodi on kirjoitettu Rust-kielellä ja jaettu MPL (Mozilla Public License) 2.0 -käyttöjärjestelmällä.

Tietoja PyOxidizerista?

El proyecto perustuu Rust-kielen samannimiseen moduuliin, jonka avulla voit upottaa Python-tulkin Rust-ohjelmiin suorittaa Python-komentosarjoja niillä.

PyOksidaattori Se on nyt ylittänyt Rust-laajennuksen ja on sijoitettu työkaluna, joka on laajemman yleisön käytettävissä erillisten Python-pakettien rakentamiseen ja jakamiseen.

PyOxidizer-apuohjelma, jonka tarkoituksena on ratkaista Python-sovellusten jakamisen ongelma.

Niille, joiden ei tarvitse jakaa sovelluksia suoritettavan tiedoston muodossa, PyOxidizer tarjoaa mahdollisuuden luoda sopivia kirjastoja linkitettäviksi mihin tahansa sovellukseen, jotta upotetaan Python-tulkki ja tarvittavat laajennukset niihin.

Python-sovellusten jakelua pidetään yleensä ratkaisemattomana ongelmana, koska Russel Keith-Magee tunnisti koodijakelun eksistentiaalisena uhkana pitkäikäisyydelle Pythonille. Hänen sanoinsa, Pythonilla ei ole koskaan ollut johdonmukaista historiaa siitä, miten annan koodini jollekin muulle, varsinkin jos kyseinen henkilö ei ole kehittäjä ja haluaa vain käyttää sovellustani.

Loppukäyttäjille projektin toimittaminen yhden suoritettavan tiedoston muodossa Se yksinkertaistaa huomattavasti asennusta ja eliminoi riippuvuuksien valinnan, mikä on tärkeää esimerkiksi monimutkaisille Python-projekteille, kuten videonmuokkausohjelmille.

Toisaalta Sovelluskehittäjille PyOxidizer antaa heille mahdollisuuden säästää aikaa sovelluksen toimituksen järjestämisessä tarvitsematta käyttää erilaisia ​​työkaluja pakettien luomiseen eri käyttöjärjestelmille.

Kuinka PyOxidizer toimii?

Ehdotettujen koontiversioiden käyttäminen sillä on myös positiivinen vaikutus suorituskykyyn: PyOxidizerissa luodut tiedostot toimivat nopeammin kuin Python-järjestelmää käyttämällä poistamalla tuonti ja määrittelemällä perusmoduulit.

PyOxidizerissa moduulit tuodaan muistista (Kaikki sisäänrakennetut moduulit ladataan välittömästi muistiin ja niitä käytetään sitten ilman levyn käyttöä.) Testauksessa sovelluksen käynnistymisaika PyOxidizerilla on noin puolet.

Vastaavista olemassa olevista hankkeista on mahdollista havaita: PyInstaller (purkaa tiedoston väliaikaiseen hakemistoon ja tuo moduulit siitä).

  • Py2exe (linkitetty Windows-alustaan ​​ja vaatii useita tiedostojakeluja), py2app (linkitetty macOS: iin)
  • Cx-freeze (vaatii erillisen riippuvuuspakkauksen), Shiv ja PEX (muodostavat zip-paketin ja vaativat järjestelmässä Pythonin)
  • Nuitka (kokoaa koodin, ei upotettua tulkkia), pynsist (linkitetty Windowsiin), PyRun (oma kehitys ilman selitystä toimintaperiaatteille).

Nykyisessä kehitysvaiheessa PyOxidizer on jo toteuttanut päätoiminnot suoritettavien tiedostojen luomiseksi Windowsille, macOS: lle ja Linuxille.

Laaja-alaisista ominaisuuksista havaittiin standardin kokoamisympäristön puuttuminen, kyvyttömyys tuottaa paketti MSI-, DMG- ja deb / rpm-muodossa pakkausongelmilla hankkeisiin, joihin liittyy monimutkaisia ​​C-kielen laajennuksia.

Vaikka julkaisua tukevien ohjeiden puuttuminen ("pyoxidizer add", "pyoxidizer analysis" ja "pyoxidizer upgrade") ja rajoitettu tuki Terminfolle ja Readline-ohjelmalle, tuen puute muille versioille kuin Python 3.7, tuen puute resurssien pakkaus, kyvyttömyys kääntää ristiin

lähde: https://pyoxidizer.readthedocs.io


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.