Liberazione di PyOxidizer per imballà i prughjetti Python in eseguibili autonomi

Intruduttu prima liberazione di l'utilità PyOxidizer, chì permette di imballà un prughjettu di Python in un schedariu eseguibile autonomu chì include l'interprete Python è tutte e librerie è risorse necessarie per u travagliu. Tali schedari ponu esse eseguiti in ambienti senza strumenti Python installati o indipendentemente da a versione necessaria di Python. PyOxidizer pò ancu generà eseguibili ligati staticamente chì ùn sò micca ligati à biblioteche di sistema. U codice di u prugettu hè scrittu in Rust è distribuitu da Licenziatu sottu MPL (Mozilla Public License) 2.0.

U prughjettu hè basatu annantu à u modulu di u listessu nome per a lingua Rust, chì permette di incrustà un interprete Python in i prugrammi Rust per eseguisce script Python in elli. PyOxidizer hè avà andatu oltre esse un add-on di Rust è si posiziona cum'è un strumentu per custruisce è distribuisce pacchetti Python autonomi per un publicu più largu. Per quelli chì ùn anu micca bisognu di distribuisce l'applicazioni cum'è eseguibile, PyOxidizer furnisce l'abilità di generà biblioteche adattate per ligà cù qualsiasi applicazione per incrustà un interprete Python è u settore necessariu di estensioni in elli.

Per l'utilizatori finali, furnisce u prughjettu cum'è un unicu schedariu eseguibile simplificà assai a stallazione è elimina u travagliu di selezzione di dipendenze, chì hè pertinente, per esempiu, per prughjetti cumplessi di Python, cum'è editori di video. Per i sviluppatori di l'applicazioni, PyOxidizer permette di risparmià u tempu d'urganizà a consegna di una applicazione, senza avè bisognu di utilizà diverse strumenti per generà pacchetti per diversi sistemi operativi.

L'usu di l'assemblei pruposti hà ancu un effettu pusitivu nantu à u rendiment - i schedarii generati in PyOxidizer correnu più veloce chì quandu si usa u sistema Python per l'eliminazione di l'impurtazioni è a definizione di moduli basi. In PyOxidizer, i moduli sò impurtati da a memoria - tutti i moduli integrati sò immediatamente caricati in memoria è dopu utilizati senza accessu à u discu). In i testi, u tempu d'iniziu di l'applicazione quandu si usa PyOxidizer hè ridutta da circa a mità.

Di i prughjetti simili digià esistenti, pudemu nutà: PyInstaller (scomprime u schedariu in un cartulare tempuranee è importa moduli da ellu), py2exe (ligatu à a piattaforma Windows è richiede a distribuzione di parechji schedari), py2app (liatu à macOS), cx-freeze (richiede un imballaggio di dipendenza separatu), Shiv и Racire (Formate un pacchettu in formatu zip è richiede Python in u sistema), Nuitka (compile u codice invece di incrustà l'interprete), pinsist (ligatu à Windows), PyRun (sviluppu propiu senza spiegà i principii di funziunamentu).

In u stadiu attuale di sviluppu, PyOxidizer hà digià implementatu a funziunalità principale per generà fugliali eseguibili per Windows, macOS è Linux. Di l'uppurtunità chì ùn sò ancu dispunibuli nutatu mancanza di un ambiente tipicu di custruzzione, incapacità di generà pacchetti in formati MSI, DMG è deb / rpm, prublemi cù prughjetti di imballaggio chì includenu estensioni C cumplessi, mancanza di cumandamenti per accumpagnà a consegna ("pyoxidizer add", "pyoxidizer analysis" è "pyoxidizer". upgrade"), supportu limitatu per Terminfo è Readline, senza supportu per versioni altru da Python 3.7, nè supportu per a compressione di risorse, nè cumpilazione incruciata.

Source: opennet.ru

Add a comment