PyOxidizer utilīta Python projektu iesaiņošanai izpildāmajos failos

PyOksidētājs

Pirms dažām dienām izstrādātāji ieviesa PyOxidizer utilītas pirmo versiju, kas tiek piedāvāts kā utilīta, kuru var izmantot Python projekta iepakošanai kā atsevišķu izpildāmu failu, ieskaitot Python tulku un visas nepieciešamās bibliotēkas un resursus.

Šādus failus var palaist vidēs bez instalēta Python rīkkopa vai neatkarīgi no nepieciešamās Python versijas pieejamības.

PyOxidizer var arī ģenerēt ar statiku saistītus izpildāmos failus, kas nav saistīti ar sistēmas bibliotēkām. Projekta kods ir rakstīts Rust valodā un tiek izplatīts ar MPL (Mozilla Public License) 2.0.

Par PyOxidizer?

Projekts ir balstīts uz tāda paša nosaukuma moduli Rust valodai, kas ļauj iegult Python tulku Rust programmās palaist uz tiem Python skriptus.

PyOksidētājs Tagad tas ir pārsniedzis Rust spraudni un ir pozicionēts kā plašākai auditorijai pieejams rīks atsevišķu Python pakotņu izveidošanai un izplatīšanai.

PyOxidizer utilīta, kuras mērķis ir atrisināt problēmu, kā izplatīt Python lietojumprogrammas.

Tiem, kuriem nav nepieciešams izplatīt lietojumprogrammas izpildāmā faila formā, PyOxidizer piedāvā iespējas ģenerēt piemērotas bibliotēkas, lai izveidotu saites ar jebkuru lietojumprogrammu, lai tajos iegultu Python tulku un nepieciešamo paplašinājumu komplektu.

Python lietojumprogrammu izplatīšana parasti tiek uzskatīta par neatrisinātu problēmu, jo Russel Keith-Magee identificēja kodu izplatīšanu kā eksistenciālu draudu ilgmūžībai Python. Pēc viņa vārdiem, Pitonam nekad nav bijusi konsekventa vēsture par to, kā es piešķiru savu kodu kādam citam, it īpaši, ja šī cita persona nav izstrādātājs un vienkārši vēlas izmantot manu lietojumprogrammu.

Galalietotājiem - projekta piegāde viena izpildāma faila veidā Tas ievērojami vienkāršo instalēšanu un novērš atkarību izvēles darbu, kas ir svarīgi, piemēram, sarežģītiem Python projektiem, piemēram, video redaktoriem.

Kamēr no otras puses Lietojumprogrammu izstrādātājiem PyOxidizer ļauj viņiem ietaupīt laiku, organizējot lietojumprogrammas piegādi neizmantojot dažādus rīkus, lai izveidotu paketes dažādām operētājsistēmām.

Kā darbojas PyOxidizer?

Piedāvāto būvējumu izmantošana tas arī pozitīvi ietekmē veiktspēju: faili, kas ģenerēti PyOxidizer, darbojas ātrāk nekā izmantojot Python sistēmu, noņemot importēšanu un definējot pamata moduļus.

Programmā PyOxidizer moduļi tiek importēti no atmiņas (Visi iebūvētie moduļi tiek nekavējoties ielādēti atmiņā un pēc tam tiek izmantoti bez piekļuves diskam). Testēšanas laikā programmas PyOxidizer palaišanas laiks ir aptuveni uz pusi samazināts.

No līdzīgiem esošajiem projektiem ir iespējams novērot: PyInstaller (failu izpako pagaidu direktorijā un importē no tā moduļus).

  • Py2exe (saistīts ar Windows platformu un prasa vairāku failu izplatīšanu), py2app (saistīts ar macOS)
  • Cx-freeze (nepieciešams atsevišķs atkarības iepakojums), Shiv un PEX (veido zip pakotni un sistēmā ir nepieciešams Python)
  • Nuitka (sastāda kodu, nevis iegulto tulku), pynsist (saistīts ar Windows), PyRun (patentēta izstrāde bez darba principu skaidrojuma).

Pašreizējā attīstības posmā PyOxidizer jau ir ieviesis galveno funkcionalitāti, lai ģenerētu izpildāmos failus Windows, MacOS un Linux.

No tālejošajām iespējām tika atzīmēts standarta kompilācijas vides trūkums, nespēja ģenerēt paketi MSI, DMG un deb / rpm formātā ar projekta iepakojuma problēmām, kas saistītas ar sarežģītiem C valodas paplašinājumiem.

Lai gan nav norādījumu par atbrīvošanu ("pyoxidizer add", "pyoxidizer analysis" un "pyoxidizer upgrade") un ierobežots atbalsts Terminfo un Readline, atbalsta trūkums citām versijām, izņemot Python 3.7, atbalsta trūkums resursu saspiešanai, nespēja šķērsot kompilāciju.

Fuente: https://pyoxidizer.readthedocs.io


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.