N paar dae gelede ontwikkelaars het die eerste weergawe van die PyOxidizer-program bekendgestel, wat aangebied word as 'n hulpmiddel wat gebruik kan word om 'n Python-projek in 'n aparte uitvoerbare lêer te verpak, insluitend die Python-tolk en alle nodige biblioteke en hulpbronne.
Sulke lêers kan in omgewings uitgevoer word sonder dat die Python-gereedskapstel geïnstalleer is, of ongeag die beskikbaarheid van die vereiste weergawe van Python.
PyOxidizer kan ook staties-verwante uitvoerbare genereer wat nie met die stelselbiblioteke geassosieer word nie. Die projekkode is in die Rust-taal geskryf en word versprei onder die MPL (Mozilla Public License) 2.0.
Oor PyOxidizer?
El proyecto is gebaseer op die gelyknamige module vir die Rust-taal, waarmee u 'n Python-tolk kan insluit in Rust-programme om Python-skrifte daarop uit te voer.
PyOxidizer Dit het nou verder gegaan as die invoegtoepassing vir Rust en is geposisioneer as 'n instrument wat beskikbaar is vir 'n wyer publiek vir die bou en verspreiding van losstaande Python-pakkette.
PyOxidizer is 'n hulpmiddel wat die probleem oplos om Python-toepassings te versprei.
Vir diegene wat nie toepassings in die vorm van 'n uitvoerbare lêer hoef te versprei nie, bied PyOxidizer geleenthede om geskikte biblioteke te genereer om te koppel met enige toepassing om die Python-tolk en die nodige uitbreidings daarin in te bed.
Verspreiding van Python-toepassings word oor die algemeen as 'n onopgeloste probleem beskou, aangesien Russel Keith-Magee kodeverspreiding geïdentifiseer het as 'n eksistensiële bedreiging vir die lang lewe, vir Python. In sy woorde het Python nog nooit 'n konsekwente geskiedenis gehad van hoe ek my kode aan iemand anders gee nie, veral nie as die ander persoon nie 'n ontwikkelaar is nie en net my toepassing wil gebruik.
Vir eindgebruikers, die aflewering van 'n projek as 'n enkele uitvoerbare lêer Dit vereenvoudig die installering en elimineer die werk om afhanklikes te kies, wat byvoorbeeld belangrik is vir komplekse Python-projekte soos video-redakteurs.
Terwyl aan die ander kant Vir toepassingsontwikkelaars stel PyOxidizer hulle in staat om tyd te bespaar om die aflewering van 'n toepassing te organiseer sonder om verskillende instrumente te gebruik om pakkette vir verskillende bedryfstelsels te skep.
Hoe werk PyOxidizer?
Gebruik die voorgestelde konstruksies dit het ook 'n positiewe uitwerking op prestasie: lêers wat in PyOxidizer gegenereer word, loop vinniger as om die Python-stelsel te gebruik deur invoer te verwyder en basiese modules te definieer.
In PyOxidizer, modules word uit die geheue ingevoer (alle ingeboude modules word onmiddellik in die geheue gelaai en dan gebruik sonder toegang tot skyfies). Tydens die toetsing word die opstarttyd van die aansoek met PyOxidizer ongeveer gehalveer.
Uit soortgelyke bestaande projekte is dit moontlik om op te let: PyInstaller (pak die lêer uit in 'n tydelike gids en voer modules daaruit in).
- Py2exe (gekoppel aan Windows-platform en vereis verspreiding van verskeie lêers), py2app (gekoppel aan macOS)
- Cx-vries (vereis afsonderlike afhanklikheidsverpakking), Shiv en PEX (vorm 'n zip-pakket en benodig Python op die stelsel)
- Nuitka (stel die kode saam, nie die ingeboude tolk nie), pynsist (gekoppel aan Windows), PyRun (eie ontwikkeling sonder verduideliking van die beginsels van werking).
In die huidige stadium van ontwikkeling, PyOxidizer het reeds die belangrikste funksies geïmplementeer om uitvoerbare lêers vir Windows, macOS en Linux te genereer.
Van die verreikende vermoëns is die afwesigheid van 'n standaard-samestellingsomgewing, die onvermoë om 'n pakket in MSI-, DMG- en deb / rpm-formaat te genereer, met probleme met verpakking vir projekte wat ingewikkelde uitbreidings in die C-taal behels.
Terwyl die afwesigheid van instruksies om die aflewering te ondersteun ("pyoxidizer add", "pyoxidizer analyse" en "pyoxidizer upgrade") en beperkte ondersteuning vir Terminfo en Readline, gebrek aan ondersteuning vir ander weergawes as Python 3.7, gebrek aan ondersteuning vir hulpbronkompressie, onvermoë om kruiskompilasie te doen.
Fuente: https://pyoxidizer.readthedocs.io
Wees die eerste om te kommentaar lewer