PyOxidizer uslužni program za pakiranje Python projekata u izvršne datoteke

PyOksidizator

Prije nekoliko dana programeri su predstavili prvu verziju uslužnog programa PyOxidizer, koji se nudi kao uslužni program koji se može koristiti za pakiranje Python projekta kao zasebne izvršne datoteke, uključujući tumač Python i sve potrebne knjižnice i resurse.

Takve se datoteke mogu pokretati u okruženjima bez instaliranog Python alata ili bez obzira na dostupnost potrebne verzije Pythona.

PyOxidizer također može generirati statički povezane izvršne datoteke koje nisu povezane sa sistemskim knjižnicama. Kôd projekta napisan je na jeziku Rust i distribuira se pod MPL (Mozilla Public License) 2.0.

O PyOxidizeru?

Projekt temelji se na istoimenom modulu za jezik Rust, koji vam omogućuje ugrađivanje Python interpretera u programe Rust za pokretanje Python skripti na njima.

PyOksidizator Sada je premašio dodatak za Rust i pozicioniran je kao alat dostupan široj publici za izgradnju i distribuciju samostalnih Python paketa.

PyOxidizer uslužni program čiji je cilj riješiti problem distribucije Python aplikacija.

Za one koji ne trebaju distribuirati aplikacije u obliku izvršne datoteke, PyOxidizer nudi mogućnosti generiranja prikladnih knjižnica za povezivanje s bilo kojim programom za ugrađivanje Python interpretera i potrebnog skupa proširenja u njih.

Distribucija aplikacija Python općenito se smatra neriješenim problemom jer je Russel Keith-Magee za Python identificirao distribuciju koda kao egzistencijalnu prijetnju dugovječnosti. Prema njegovim riječima, Python nikada nije imao dosljednu povijest kako dajem svoj kod nekome drugome, pogotovo ako ta druga osoba nije programer i samo želi koristiti moju aplikaciju.

Za krajnje korisnike, isporuka projekta kao jedne izvršne datoteke To uvelike pojednostavljuje instalaciju i eliminira rad na odabiru ovisnosti, što je važno, na primjer, za složene Python projekte poput video uređivača.

Dok s druge strane Za programere aplikacija, PyOxidizer im omogućuje uštedu vremena pri organizaciji isporuke aplikacije bez upotrebe različitih alata za stvaranje paketa za različite operativne sustave.

Kako djeluje PyOxidizer?

Koristeći predložene gradnje također ima pozitivan učinak na performanse: datoteke generirane u PyOxidizeru rade brže od korištenja Python sustava uklanjanjem uvoza i definiranjem osnovnih modula.

U PyOxidizeru, moduli se uvoze iz memorije (svi ugrađeni moduli se odmah učitavaju u memoriju i zatim koriste bez pristupa disku). Tijekom testiranja, vrijeme pokretanja aplikacije s PyOxidizer-om otprilike se prepolovilo.

Iz sličnih postojećih projekata moguće je uočiti: PyInstaller (otpakuje datoteku u privremeni direktorij i iz nje uvozi module).

  • Py2exe (povezan s Windows platformom i zahtijeva distribuciju više datoteka), py2app (povezan s macOS)
  • Cx-freeze (zahtijeva zasebno pakiranje ovisnosti), Shiv i PEX (čine zip paket i zahtijevaju Python u sustavu)
  • Nuitka (sastavlja kôd, a ne ugrađeni tumač), pynsist (povezan sa sustavom Windows), PyRun (vlastiti razvoj bez objašnjenja principa rada).

U trenutnoj fazi razvoja, PyOxidizer je već implementirao glavnu funkcionalnost za generiranje izvršnih datoteka za Windows, MacOS i Linux.

Od dalekosežnih mogućnosti zabilježeno je odsustvo standardnog okruženja za kompilaciju, nemogućnost generiranja paketa u MSI, DMG i deb / rpm formatu, s problemima pakiranja za projekte koji uključuju složena proširenja na jezik C.

Iako nedostatak uputa za potporu isporuci ("dodavanje pioksidatora", "analiza pioksidatora" i "nadogradnja pioksidizatora") i ograničena podrška za Terminfo i Readline, nedostatak podrške za verzije koje nisu Python 3.7, nedostatak podrške za kompresija resursa, nemogućnost unakrsnog prevođenja.

izvor: https://pyoxidizer.readthedocs.io


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.