PyOxidizer utiliit Pythoni projektide pakkimiseks käivitatavatesse failidesse

PyOksideerija

Paar päeva tagasi arendajad tutvustasid PyOxidizeri utiliidi esimest versiooni, mida pakutakse kui utiliit, mida saab kasutada Pythoni projekti pakkimiseks eraldi käivitatavasse faili, sealhulgas Pythoni tõlk ning kõik vajalikud teegid ja ressursid.

Selliseid faile saab käivitada keskkondades, kus pole installitud Pythoni tööriistakomplekti, või olenemata Pythoni vajaliku versiooni olemasolust.

PyOxidizer suudab genereerida ka staatiliselt seotud käivitusfaile, mis pole süsteemiteekidega seotud. Projekti kood on kirjutatud Rust keeles ja seda levitatakse MPL (Mozilla Public License) 2.0 all.

PyOxidizeri kohta?

El proyecto põhineb Rust keele samanimelisel moodulil, mis võimaldab teil kinnitada Pythoni tõlgi Rust programmidesse nende peal Pythoni skriptide käivitamiseks.

PyOksideerija Nüüd on see ületanud Rusti pistikprogrammi ja on paigutatud laiemale publikule kättesaadavaks tööriistaks iseseisvate Pythoni pakettide loomiseks ja levitamiseks.

PyOxidizer utiliit, mille eesmärk on lahendada Pythoni rakenduste levitamise probleem.

Neile, kes ei pea rakendusi käivitatava faili kujul levitama, pakub PyOxidizer võimalusi genereerida sobivaid teeke, mida linkida mis tahes rakendusega, et kinnistada Pythoni tõlk ja vajalik komplekt laiendeid.

Pythoni rakenduste levitamist peetakse tavaliselt lahendamata probleemiks, kuna Russel Keith-Magee tuvastas Pythoni jaoks koodijaotuse kui eksistentsiaalset ohtu pikaealisusele. Tema sõnul pole Pythonil kunagi olnud järjepidevat ajalugu selle kohta, kuidas ma oma koodi kellelegi teisele annan, eriti kui see teine ​​inimene pole arendaja ja soovib lihtsalt minu rakendust kasutada.

Lõppkasutajatele projekti edastamine ühe käivitatava failina See lihtsustab oluliselt installimist ja välistab sõltuvuste valimise töö, mis on oluline näiteks keerukate Pythoni projektide, näiteks videotöötlusprogrammide puhul.

Kuigi teisest küljest Rakenduste arendajate jaoks võimaldab PyOxidizer neil rakenduse edastamise korraldamisel aega kokku hoida ilma et peaksite erinevate operatsioonisüsteemide jaoks pakettide loomiseks kasutama erinevaid tööriistu.

Kuidas PyOxidizer töötab?

Kavandatud järkude kasutamine see mõjutab positiivselt ka jõudlust: PyOxidizeris loodud failid töötavad kiiremini kui Pythoni süsteemi kasutades, eemaldades impordi ja määrates põhimoodulid.

PyOxidizeris moodulid imporditakse mälust (kõik sisseehitatud moodulid laaditakse kohe mällu ja kasutatakse siis ilma kettale juurdepääsuta). Testimisel vähendatakse PyOxidizeriga rakenduse käivitamise aega umbes poole võrra.

Sarnastest olemasolevatest projektidest on võimalik jälgida: PyInstaller (pakib faili ajutisse kataloogi ja impordib sellest moodulid).

  • Py2exe (lingitud Windowsi platvormiga ja nõuab mitme faili levitamist), py2app (lingitud macOS-iga)
  • Cx-freeze (nõuab eraldi sõltuvuspakendeid), Shiv ja PEX (moodustavad ZIP-paketi ja nõuavad süsteemis Pythoni)
  • Nuitka (kompileerib koodi, mitte sisseehitatud tõlki), pynsist (lingitud Windowsiga), PyRun (varaline arendus ilma tööpõhimõtteid selgitamata).

Praeguses arenguetapis PyOxidizer on juba juurutanud põhifunktsioonid käivitatavate failide loomiseks Windowsi, macOSi ja Linuxi jaoks.

Laiaulatuslikest võimalustest märkis standardse kompileerimiskeskkonna puudumine, võimetus genereerida paketti MSI, DMG ja deb / rpm formaadis, pakkimisprobleemidega projektidele, mis hõlmavad keerukaid C-keele laiendusi.

Kui kättetoimetamist toetavate juhiste puudumine ("püoksüdeerija lisamine", "püoksüdeerija analüüsimine" ja "püoksüdeerija täiendamine") ning Terminfo ja Readline'i piiratud tugi, puudus muudele versioonidele kui Python 3.7 toe puudumine, ressursside tihendamise toe puudumine, võimetus ristkoostada.

allikas: https://pyoxidizer.readthedocs.io


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.