PyOxidizer-ի թողարկում՝ Python նախագծերը ինքնուրույն գործարկվողների մեջ փաթեթավորելու համար

Ներկայացվել է կոմունալ ծրագրի առաջին թողարկումը ՊիՕքսիդատոր, որը թույլ է տալիս փաթեթավորել 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 բարդ ընդլայնումներ, առաքմանը ուղեկցող հրամանների բացակայություն («pyoxidizer add», «pyoxidizer analyse» և «pyoxidizer». բարելավում» ), սահմանափակ աջակցություն Terminfo-ի և Readline-ի համար, Python 3.7-ից բացի այլ թողարկումների աջակցություն, ռեսուրսների սեղմման աջակցություն, առանց խաչաձև կազմման:

Source: opennet.ru

Добавить комментарий