Python долбоорлорун өз алдынча аткарылуучу файлдарга пакеттөө үчүн PyOxidizerди чыгаруу

киргизилген утилитанын биринчи чыгарылышы Пиоксидант, бул сизге Python долбоорун Python котормочусун жана жумушка керектүү бардык китепканаларды жана ресурстарды камтыган өз алдынча аткарылуучу файлга пакеттөө мүмкүнчүлүгүн берет. Мындай файлдарды Python куралдары орнотулбаган чөйрөлөрдө же Pythonдун талап кылынган версиясына карабастан иштетүүгө болот. PyOxidizer ошондой эле системалык китепканалар менен байланышпаган статикалык байланышкан аткарылуучу файлдарды да түзө алат. Долбоордун коду Rust жана жазылган жайылуу MPL (Mozilla Public License) 2.0 астында лицензияланган.

Долбоор Rust тили үчүн окшош аталыштагы модулдун негизинде түзүлгөн, ал Python тилмечтерин Rust программаларына киргизүүгө мүмкүндүк берет, алар Python скрипттерин аткаруу үчүн. PyOxidizer азыр Rust кошумчасы болуу менен чектелди жана өзүн кеңири аудитория үчүн өз алдынча Python пакеттерин куруу жана жайылтуу куралы катары көрсөтүүдө. Тиркемелерди аткарылуучу катары жайылтуунун кереги жок болгондор үчүн, PyOxidizer Python котормочусун жана аларга керектүү кеңейтүүлөрдү киргизүү үчүн каалаган тиркеме менен байланышууга ылайыктуу китепканаларды түзүү мүмкүнчүлүгүн берет.

Акыркы колдонуучулар үчүн долбоорду бир аткарылуучу файл катары жеткирүү орнотууну абдан жеңилдетет жана көз карандылыкты тандоо ишин жокко чыгарат, бул, мисалы, видеоредакторлор сыяктуу татаал Python долбоорлоруна тиешелүү. Тиркемени иштеп чыгуучулар үчүн PyOxidizer ар кандай операциялык системалар үчүн пакеттерди түзүү үчүн ар кандай куралдарды колдонуунун кереги жок, тиркемени жеткирүүнү уюштурууга убакытты үнөмдөөгө мүмкүндүк берет.

Сунушталган ассамблеяларды колдонуу да өндүрүмдүүлүккө оң таасирин тийгизет - PyOxidizerде түзүлгөн файлдар импортту жок кылуу жана негизги модулдарды аныктоодон улам Python тутумун колдонууга караганда тезирээк иштейт. PyOxidizerде модулдар эстутумдан импорттолот - бардык орнотулган модулдар эстутумга дароо жүктөлүп, андан кийин дискке кирбестен колдонулат). Сыноолордо, PyOxidizerди колдонууда тиркемени баштоо убактысы болжол менен эки эсеге кыскарган.

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

Өнүктүрүүнүн азыркы этабында PyOxidizer Windows, macOS жана Linux үчүн аткарылуучу файлдарды түзүү үчүн негизги функцияны ишке ашырган. Мүмкүнчүлүктөр азырынча жеткиликтүү эмес атактуу типтүү куруу чөйрөсүнүн жоктугу, MSI, DMG жана deb/rpm форматтарында пакеттерди түзүү мүмкүн эместиги, комплекстүү C кеңейтүүлөрүн камтыган таңгактоо долбоорлору менен көйгөйлөр, жеткирүүнү коштоо үчүн буйруктардын жоктугу ("пиоксидант кошуу", "пиоксидатор анализи" жана "пиоксидант" жаңыртуу"), Terminfo жана Readline үчүн чектелген колдоо, Python 3.7ден башка релиздерди колдоо жок, ресурстарды кысуу колдоо жок, кайчылаш компиляция жок.

Source: opennet.ru

Комментарий кошуу