Ang PyOxidizer ay isang utility para sa pagbabalot ng mga proyekto ng Python sa maisasagawa na mga file

PyOxidizer

Ilang araw na ang nakakalipas ipinakilala ng mga developer ang unang bersyon ng utility ng PyOxidizer, na inaalok bilang isang utility na maaaring magamit upang ibalot ang isang proyekto sa Python sa isang hiwalay na maipapatupad na file, kasama ang interpreter ng Python at lahat ng kinakailangang aklatan at mapagkukunan.

Ang mga nasabing file ay maaaring patakbuhin sa mga kapaligiran nang walang naka-install na toolkit ng Python o hindi alintana ang pagkakaroon ng kinakailangang bersyon ng Python.

Maaari ring makabuo ang PyOxidizer ng mga naipatupad na nauugnay sa static na hindi nauugnay sa mga aklatan ng system. Ang code ng proyekto ay nakasulat sa wikang Rust at ipinamamahagi sa ilalim ng MPL (Mozilla Public License) 2.0.

Tungkol sa PyOxidizer?

Ang proyekto ay batay sa module ng parehong pangalan para sa Rust na wika, na nagbibigay-daan sa iyo upang mag-embed ng isang interpreter ng Python sa mga programa ng Rust upang mapatakbo ang mga script ng Python sa kanila.

PyOxidizer lumipat na ito ngayon lampas sa plugin para sa Rust at nakaposisyon bilang isang tool na magagamit sa isang mas malawak na madla para sa pagbuo at pamamahagi ng mga standalone na pakete ng Python.

Ang PyOxidizer isang utility na naglalayong malutas ang problema kung paano ipamahagi ang mga application ng Python.

Para sa mga hindi nangangailangan na ipamahagi ang mga application sa anyo ng isang maipapatupad na file, nag-aalok ang PyOxidizer ng mga pagkakataon na makabuo ng mga angkop na aklatan upang maiugnay sa anumang aplikasyon upang mai-embed ang Python interpreter at ang kinakailangang hanay ng mga extension sa kanila.

Ang pamamahagi ng aplikasyon ng Python sa pangkalahatan ay itinuturing na isang hindi nalutas na problema dahil kinilala ni Russel Keith-Magee ang pamamahagi ng code bilang isang pagkakaroon ng banta sa mahabang buhay, para sa Python. Sa kanyang mga salita, ang Python ay hindi kailanman nagkaroon ng isang pare-pareho na kasaysayan ng kung paano ko ibibigay ang aking code sa ibang tao, lalo na kung ang ibang tao ay hindi isang developer at nais lamang gamitin ang aking aplikasyon.

Para sa mga end user, naghahatid ng isang proyekto sa anyo ng isang solong maipapatupad na file Lubhang pinadadali nito ang pag-install at inaalis ang gawain ng pagpili ng mga dependency, na mahalaga, halimbawa, para sa mga kumplikadong proyekto ng Python tulad ng mga editor ng video.

Habang sa kabilang banda Para sa mga developer ng application, binibigyang-daan sila ng PyOxidizer na makatipid ng oras sa pag-aayos ng paghahatid ng isang application nang hindi kinakailangang gumamit ng iba't ibang mga tool upang lumikha ng mga pakete para sa iba't ibang mga operating system.

Paano gumagana ang PyOxidizer?

Gamit ang mga iminungkahing build mayroon din itong positibong epekto sa pagganap: ang mga file na nabuo sa PyOxidizer ay tumatakbo nang mas mabilis kaysa sa paggamit ng Python system sa pamamagitan ng pag-aalis ng mga pag-import at pagtukoy ng mga pangunahing module.

Sa PyOxidizer, ang mga module ay na-import mula sa memorya (Ang lahat ng mga built-in na module ay agad na na-load sa memorya at pagkatapos ay ginamit nang walang pag-access sa disk). Sa pagsubok, ang oras ng pagsisimula ng application na may PyOxidizer ay halos kalahati.

Mula sa mga katulad na umiiral na proyekto, posible na obserbahan: PyInstaller (inalis ang file sa isang pansamantalang direktoryo at nag-i-import ng mga module mula rito).

  • Py2exe (naka-link sa Windows platform at nangangailangan ng maraming pamamahagi ng file), py2app (naka-link sa macOS)
  • Cx-freeze (nangangailangan ng magkahiwalay na packaging ng dependency), Shiv at PEX (bumuo ng isang zip package at nangangailangan ng Python sa system)
  • Nuitka (pinagsasama ang code, hindi ang naka-embed na interpreter), pynsist (naka-link sa Windows), PyRun (pagmamay-ari na pag-unlad na walang paliwanag sa mga prinsipyong nagtatrabaho).

Sa kasalukuyang yugto ng pag-unlad, Naipatupad na ng PyOxidizer ang pangunahing pagpapaandar upang makabuo ng maipapatupad na mga file para sa Windows, macOS, at Linux.

Sa malalawak na kakayahan na nabanggit ang kawalan ng isang pamantayan ng kapaligiran sa pagtitipon, ang kawalan ng kakayahang makabuo ng isang pakete sa format na MSI, DMG at deb / rpm, na may mga problema sa pagpapakete ng proyekto na kinasasangkutan ng mga kumplikadong extension sa wikang C.

Habang ang kawalan ng mga tagubilin upang suportahan ang paghahatid ("pyoxidizer add", "pyoxidizer analysis" at "pyoxidizer upgrade") at limitadong suporta para sa Terminfo at Readline, kawalan ng suporta para sa mga bersyon maliban sa Python 3.7, kawalan ng suporta para sa compression ng mapagkukunan, kawalan ng kakayahan na tumawid tumipon.

Fuente: https://pyoxidizer.readthedocs.io


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.