PyOxidizer помощна програма за опаковане на Python проекти в изпълними файлове

Пиоксидант

Преди няколко дни разработчиците представиха първата версия на помощната програма PyOxidizer, което се предлага като помощна програма, която може да се използва за пакетиране на проект на Python като отделен изпълним файл, включително интерпретатора на Python и всички необходими библиотеки и ресурси.

Такива файлове могат да се изпълняват в среди без инсталиран набор от инструменти на Python или независимо от наличието на необходимата версия на Python.

PyOxidizer може също да генерира статично свързани изпълними файлове, които не са свързани със системните библиотеки. Кодът на проекта е написан на езика Rust и се разпространява под MPL (Mozilla Public License) 2.0.

Относно PyOxidizer?

Проектът се основава на едноименния модул за езика Rust, който ви позволява да вградите интерпретатор на Python в програмите Rust за да стартирате Python скриптове върху тях.

Пиоксидант сега е преминал отвъд приставката за Rust и е позициониран като инструмент, достъпен за по-широка аудитория за изграждане и разпространение на самостоятелни пакети на Python.

PyOxidizer помощна програма, която има за цел да реши проблема с това как да разпространявате приложения на Python.

За тези, които не се нуждаят от разпространение на приложения под формата на изпълним файл, PyOxidizer предлага възможности за генериране на подходящи библиотеки за свързване с всяко приложение за вграждане на интерпретатора на Python и необходимия набор от разширения в тях.

Разпространението на приложения на Python обикновено се счита за нерешен проблем, тъй като Russel Keith-Magee идентифицира разпространението на код като екзистенциална заплаха за дълголетието на Python. По неговите думи Python никога не е имал последователна история на това как давам кода си на някой друг, особено ако този друг човек не е разработчик и просто иска да използва моето приложение.

За крайните потребители, предоставяне на проект под формата на един изпълним файл Това значително опростява инсталацията и елиминира работата по избор на зависимости, което е важно, например, за сложни проекти на Python като видео редактори.

Докато от друга страна За разработчиците на приложения PyOxidizer им позволява да спестят време при организиране на доставката на приложение без да се налага да използвате различни инструменти за създаване на пакети за различни операционни системи.

Как действа PyOxidizer?

Използване на предложените компилации това също има положителен ефект върху представянето: файловете, генерирани в PyOxidizer, работят по-бързо от използването на системата Python, като премахват импортирането и дефинират основните модули.

В PyOxidizer, модулите се импортират от паметта (Всички вградени модули веднага се зареждат в паметта и след това се използват без достъп до диска). При тестването времето за стартиране на приложението с PyOxidizer е приблизително наполовина.

От подобни съществуващи проекти е възможно да се наблюдават: PyInstaller (разопакова файла във временна директория и импортира модули от нея).

  • Py2exe (свързан с платформата на Windows и изисква множествено разпространение на файлове), py2app (свързан с macOS)
  • Cx-freeze (изисква отделна опаковка за зависимост), Shiv и PEX (образуват zip пакет и изискват Python в системата)
  • Nuitka (компилира кода, а не вградения интерпретатор), pynsist (свързан с Windows), PyRun (собствена разработка без обяснение на принципите на работа).

На сегашния етап на развитие, PyOxidizer вече е внедрил основната функционалност за генериране на изпълними файлове за Windows, macOS и Linux.

От широкообхватните възможности се отбелязва липсата на стандартна среда за компилиране, невъзможността да се генерира пакет във формат MSI, DMG и deb / rpm, с проблеми с опаковането на проекти, включващи сложни разширения на езика C.

Докато липсата на инструкции за поддържане на освобождаването („добавяне на пиоксидатор“, „анализ на пиоксидизатор“ и „надграждане на пиоксидазатор“) и ограничена поддръжка за Terminfo и Readline, липса на поддръжка за версии, различни от Python 3.7, липса на поддръжка за компресиране на ресурси, невъзможност за кръстосано компилиране.

Fuente: https://pyoxidizer.readthedocs.io


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.