Programmēšana

PyOxidizer izmanto Rust, lai izveidotu Python izpildāmos failus

Jauna projekta, kas rakstīts Rust, mērķis ir atvieglot Python lietojumprogrammas iesaiņošanu un izplatīšanu kā atsevišķu bināru izpildāmo failu - kaut kas jau sen ir bijis sāpīgs punkts Python izstrādātājiem.

PyOxidizer saskaņā ar tās GitHub README ir "Rust redeļu kolekcija, kas atvieglo bibliotēku un bināru, kas satur Python tulkus, izveidošanu". Ar PyOxidizer, tā izstrādātāji apgalvo, ir iespējams izveidot izpildāmu failu Python lietotnei, kurā ir iegults Python tulks bez citām izpildlaika atkarībām.

PyOxidizer nepieciešams instalēt Rust 1.31 vai labāku versiju, un tajā tiek iesaiņotas tikai lietotnes, kas rakstītas ar Python 3.7. Lai izmantotu PyOxidizer, izstrādātājs izveido TOML failu, kurā aprakstīts, kā iegult noteiktu Python lietotni, pēc tam izveido un palaiž PyOxidizer ar vides mainīgo, kas norāda uz šo TOML failu.

PyOxidizer atšķiras no citiem iepakojuma risinājumiem, izmantojot pielāgotu Python tulka būvējumu, kas paredzēts statiski saistītam un iegultam citā programmā. Citi risinājumi, piemēram, PyInstaller, pārdala esošo CPython .DLL krājumu - ērti un saderīgi, bet ne pārāk elastīgi. PyOxidizer arī iesaiņo Python lietotnes baitkodu izpildāmajā attēlā un ielādē to tieši no atmiņas (ātri), nevis no failu sistēmas (lēnāk).

Tomēr tāpat kā PyInstaller, PyOxidizer neveic Python koda optimizāciju. Cits projekts Nuitka ne tikai apkopo Python lietotnes atsevišķiem izpildāmajiem failiem, bet arī mēģina kompilētajam kodam piemērot veiktspējas optimizāciju. Tomēr Nuitka joprojām tiek uzskatīts par beta līmeņa projektu, un daudzi no paredzētajiem veiktspējas uzlabojumiem vēl nav pieejami.

Pati PyOxidizer joprojām ir ļoti agrīna projekta stadija. Tas var ģenerēt tikai Linux bināros failus, jo viens no augšupējiem projektiem, no kuriem tas ir atkarīgs, iegultā CPython versija, pašlaik ir pieejama tikai Linux būvējumos.

$config[zx-auto] not found$config[zx-overlay] not found