Python жобаларын дербес орындалатын файлдарға орау үшін PyOxidizer шығарылымы

Жіберген утилитаның бірінші шығарылымы Питотықтырғыш, бұл Python тіліндегі жобаны, соның ішінде Python аудармашысын және жұмысқа қажетті барлық кітапханалар мен ресурстарды қамтитын дербес орындалатын файл пішініне бумалауға мүмкіндік береді. Мұндай файлдарды Python құралдары орнатылмаған немесе Python бағдарламасының қажетті нұсқасына қарамастан орталарда орындауға болады. PyOxidizer сонымен қатар жүйелік кітапханалармен байланысы жоқ статикалық байланысты орындалатын файлдарды жасай алады. Жоба коды Rust және тілінде жазылған таралады MPL (Mozilla Public License) 2.0 бойынша лицензияланған.

Жоба Python сценарийлерін іске қосу үшін Rust бағдарламаларына Python аудармашысын ендіруге мүмкіндік беретін аттас Rust тілінің модуліне негізделген. PyOxidizer енді Rust қосымшасы болудан шығып кетті және кеңірек аудиторияға дербес Python пакеттерін құру және тарату құралы ретінде орналасады. Қолданбаларды орындалатын файл ретінде таратуды қажет етпейтіндер үшін PyOxidizer Python интерпретаторын және қажетті кеңейтімдер жинағын ендіру үшін кез келген қолданбамен байланысуға жарамды кітапханаларды құру мүмкіндігін береді.

Соңғы пайдаланушылар үшін жобаны бір орындалатын файл ретінде жеткізу орнатуды айтарлықтай жеңілдетеді және тәуелділіктерді таңдау жұмысын жояды, бұл, мысалы, бейне редакторлары сияқты күрделі Python жобалары үшін маңызды. Қолданбаларды әзірлеушілер үшін PyOxidizer әр түрлі операциялық жүйелер үшін пакеттер жасау үшін әртүрлі құралдарды пайдалануды қажет етпей, қолданбаларды жеткізуді ұйымдастыру уақытын үнемдеуге мүмкіндік береді.

Ұсынылған жинақтарды пайдалану өнімділікке де оң әсер етеді - PyOxidizer-де жасалған файлдар импорттауды және базалық модульдерді анықтауды жоюға байланысты Python жүйесін пайдаланғанға қарағанда жылдамырақ жұмыс істейді. PyOxidizer-де модульдер жадтан импортталады - барлық кірістірілген модульдер дереу жадқа жүктеледі, содан кейін дискіге қатынаусыз пайдаланылады). Сынақтарда PyOxidizer пайдалану кезінде қолданбаны іске қосу уақыты шамамен екі есеге қысқарады.

Бұрыннан бар ұқсас жобалардың ішінде мыналарды атап өтуге болады: PyInstaller (файлды уақытша каталогқа ашады және одан модульдерді импорттайды), py2exe (Windows платформасына байланысты және бірнеше файлдарды таратуды талап етеді), py2 қолданбасы (macOS жүйесіне байланысты), cx-мұздату (тәуелділік үшін бөлек қаптаманы қажет етеді), Шив и PEX (zip пішімінде бума жасаңыз және жүйеде Python қажет), Нуитка (аудармашыны ендірудің орнына кодты құрастырады), пинсист (Windows жүйесіне байланысты) PyRun (жұмыс принциптерін түсіндірместен меншікті әзірлеу).

Әзірлеудің қазіргі кезеңінде PyOxidizer Windows, macOS және Linux үшін орындалатын файлдарды генерациялаудың негізгі функционалдығын іске асырды. Қазіргі уақытта қолжетімсіз мүмкіндіктерден деп атап өтті стандартты құрастыру ортасының болмауы, MSI, DMG және deb/rpm пішіміндегі пакеттерді генерациялау мүмкін еместігі, Си тіліндегі күрделі кеңейтімдерді қамтитын орау жобаларымен проблемалар, жеткізуді қолдауға арналған командалардың болмауы («пиоксидантты қосу», «пиоксидантты талдау» және «пиоксидантты жаңарту» ), Terminfo және Readline үшін шектеулі қолдау, Python 3.7-ден басқа шығарылымдарға қолдаудың жоқтығы, ресурстарды қысу үшін қолдаудың болмауы, кросс компиляциялау мүмкін еместігі.

Ақпарат көзі: opennet.ru

пікір қалдыру