PyOxidizer een hulpprogramma voor het verpakken van Python-projecten in uitvoerbare bestanden

PyOxidizer

Een paar dagen geleden ontwikkelaars hebben de eerste versie van het PyOxidizer-hulpprogramma geïntroduceerd, dat wordt aangeboden als een hulpprogramma dat kan worden gebruikt om een ​​Python-project te verpakken als een afzonderlijk uitvoerbaar bestand, inclusief de Python-interpreter en alle benodigde bibliotheken en bronnen.

Dergelijke bestanden kunnen worden uitgevoerd in omgevingen zonder dat de Python-toolkit is geïnstalleerd of ongeacht de beschikbaarheid van de vereiste versie van Python.

PyOxidizer kan ook statisch gerelateerde uitvoerbare bestanden genereren die niet zijn gekoppeld aan de systeembibliotheken. De projectcode is geschreven in de Rust-taal en wordt verspreid onder de MPL (Mozilla Public License) 2.0.

Over PyOxidizer?

El proyecto is gebaseerd op de module met dezelfde naam voor de Rust-taal, waarmee je een Python-interpreter in Rust-programma's kunt insluiten om Python-scripts erop uit te voeren.

PyOxidizer het is nu verder gegaan dan de plug-in voor Rust en is gepositioneerd als een tool die beschikbaar is voor een breder publiek voor het bouwen en distribueren van stand-alone Python-pakketten.

PyOxidizer een hulpprogramma dat tot doel heeft het probleem op te lossen van het distribueren van Python-applicaties.

Voor degenen die geen applicaties in de vorm van een uitvoerbaar bestand hoeven te distribueren, biedt PyOxidizer mogelijkheden om geschikte bibliotheken te genereren om te linken met elke applicatie om de Python-interpreter en de benodigde set extensies daarin in te bedden.

De distributie van Python-applicaties wordt over het algemeen als een onopgelost probleem beschouwd, aangezien Russel Keith-Magee codedistributie identificeerde als een existentiële bedreiging voor een lang leven, voor Python. In zijn woorden heeft Python nooit een consistente geschiedenis gehad van hoe ik mijn code aan iemand anders geef, vooral als die andere persoon geen ontwikkelaar is en gewoon mijn applicatie wil gebruiken.

Voor eindgebruikers: het leveren van een project in de vorm van één uitvoerbaar bestand Het vereenvoudigt de installatie aanzienlijk en elimineert het werk van het selecteren van afhankelijkheden, wat bijvoorbeeld belangrijk is voor complexe Python-projecten zoals video-editors.

Terwijl aan de andere kant Voor applicatieontwikkelaars stelt PyOxidizer hen in staat tijd te besparen bij het organiseren van de oplevering van een applicatie zonder verschillende tools te hoeven gebruiken om pakketten voor verschillende besturingssystemen te maken.

Hoe werkt PyOxidizer?

Met behulp van de voorgestelde builds het heeft ook een positief effect op de prestaties: bestanden die in PyOxidizer zijn gegenereerd, werken sneller dan met het Python-systeem door import te verwijderen en basismodules te definiëren.

In PyOxidizer, modules worden uit het geheugen geïmporteerd (Alle ingebouwde modules worden onmiddellijk in het geheugen geladen en vervolgens zonder schijftoegang gebruikt). Bij het testen wordt de opstarttijd van de applicatie met PyOxidizer ongeveer gehalveerd.

Van vergelijkbare bestaande projecten is het mogelijk om te observeren: PyInstaller (pakt het bestand uit in een tijdelijke map en importeert er modules uit).

  • Py2exe (gekoppeld aan Windows-platform en vereist distributie van meerdere bestanden), py2app (gekoppeld aan macOS)
  • Cx-freeze (vereist afzonderlijke afhankelijkheidsverpakking), Shiv en PEX (vormen een zip-pakket en vereisen Python op het systeem)
  • Nuitka (compileert de code, niet de embedded interpreter), pynsist (gelinkt aan Windows), PyRun (propriëtaire ontwikkeling zonder uitleg over de werkingsprincipes).

In de huidige ontwikkelingsfase PyOxidizer heeft de belangrijkste functionaliteit al geïmplementeerd om uitvoerbare bestanden voor Windows, macOS en Linux te genereren.

Van de verreikende mogelijkheden werd opgemerkt dat er geen standaard compilatieomgeving was, het onvermogen om een ​​pakket in MSI-, DMG- en deb / rpm-formaat te genereren, met projectverpakkingsproblemen met complexe uitbreidingen van de C-taal.

Hoewel er geen instructies zijn om de release te ondersteunen ("pyoxidizer add", "pyoxidizer analyse" en "pyoxidizer upgrade") en beperkte ondersteuning voor Terminfo en Readline, gebrek aan ondersteuning voor andere versies dan Python 3.7, gebrek aan ondersteuning voor broncompressie, onvermogen om te compileren.

bron: https://pyoxidizer.readthedocs.io


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.