PyOxidizer utilaĵo por enigi Python-projektojn en plenumeblajn dosierojn

PyOxidizer

Antaŭ kelkaj tagoj programistoj enkondukis la unuan version de la PyOxidizer-ilo, kiu estas ofertita kiel utilaĵo uzebla por paki Python-projekton en apartan plenumeblan dosieron, inkluzive de la Python-interpretisto kaj ĉiuj necesaj bibliotekoj kaj rimedoj.

Tiaj dosieroj povas ruliĝi en medioj sen la ilaro de Python instalita aŭ sendepende de la havebleco de la bezonata versio de Python.

PyOxidizer ankaŭ povas generi statike rilatajn efektivigeblojn, kiuj ne estas asociitaj kun la sistemaj bibliotekoj. La projektokodo estas skribita en la Rust-lingvo kaj estas distribuita sub la MPL (Mozilla Public License) 2.0.

Pri PyOxidizer?

La projekto baziĝas sur la samnoma modulo por la lingvo Rust, kiu ebligas al vi enigi Python-interpretilon en programoj Rust ruli Python-skriptojn sur ili.

PyOxidizer Ĝi nun preterpasis la kromprogramon por Rust kaj situas kiel ilo havebla al pli vasta publiko por konstrui kaj distribui memstarajn Python-pakojn.

PyOxidizer utilaĵo, kiu celas solvi la problemon pri kiel distribui Python-aplikaĵojn.

Por tiuj, kiuj ne bezonas distribui aplikojn en la formo de plenumebla dosiero, PyOxidizer ofertas eblojn generi taŭgajn bibliotekojn por ligi kun iu ajn aplikaĵo por enigi la Python-interpretilon kaj la necesan aron da etendaĵoj en ili.

Python-aplikaĵa distribuo estas ĝenerale konsiderata neklarigita problemo, ĉar Russel Keith-Magee identigis kodan distribuon kiel ekzistantan minacon al longviveco, por Python Laŭ liaj vortoj, Python neniam havis konsekvencan historion pri tio, kiel mi donas mian kodon al iu alia, precipe se tiu alia persono ne estas programisto kaj nur volas uzi mian programon.

Por finuzantoj, la liverado de projekto kiel ununura plenumebla dosiero Ĝi ege simpligas instaladon kaj forigas la laboron pri elektado de dependecoj, kio gravas ekzemple por kompleksaj projektoj Python kiel videoredaktistoj.

Dum aliflanke Por programaj programoj, PyOxidizer ebligas al ili ŝpari tempon organizante la liveradon de aplikaĵo sen devi uzi malsamajn ilojn por krei pakojn por malsamaj operaciumoj.

Kiel PyOxidizer funkcias?

Uzante la proponitajn versiojn ĝi ankaŭ pozitive efikas al agado: dosieroj generitaj en PyOxidizer funkcias pli rapide ol uzi la Python-sistemon forigante importojn kaj difinante bazajn modulojn.

En PyOxidizer, moduloj estas importitaj el memoro (ĉiuj enkonstruitaj moduloj tuj estas ŝarĝitaj en memoron kaj poste uzataj sen diskaliro). En provoj, la tempo de ekfunkciigo de programo kun PyOxidizer estas proksimume duonigita.

El similaj ekzistantaj projektoj eblas observi: PyInstaller (malpakas la dosieron en provizoran dosierujon kaj importas modulojn de ĝi).

  • Py2exe (ligita al Vindoza platformo kaj postulas distribuadon de multaj dosieroj), py2app (ligita al macOS)
  • Cx-freeze (postulas apartajn dependajn pakojn), Shiv kaj PEX (formas zip-pakaĵon kaj postulas Python en la sistemo)
  • Nuitka (kompilas la kodon, ne la enmetitan interpretiston), pynsist (ligita al Vindozo), PyRun (proprieta disvolviĝo sen klarigo de la principoj de funkciado).

En la nuna stadio de disvolviĝo, PyOxidizer jam efektivigis la ĉefan funkcion por generi plenumeblajn dosierojn por Vindozo, macOS kaj Linukso.

El la ampleksaj kapabloj rimarkis la foreston de norma kompila medio, la nekapablo generi pakon en formato MSI, DMG kaj deb / rpm, kun pakaj problemoj por projektoj, kiuj implikas kompleksajn etendojn al la lingvo C.

Dum la foresto de instrukcioj por subteni la liveradon ("pioksidigilo aldoni", "pioksidigilo analizi" kaj "pioksidigilan ĝisdatigon") kaj limigita subteno por Terminfo kaj Readline, manko de subteno por versioj krom Python 3.7, manko de subteno por rimeda kunpremo, malkapablo kruci kompili.

Fonto: https://pyoxidizer.readthedocs.io


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

Estu la unua por komenti

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.