Python ပရောဂျက်များကို ထုပ်ပိုးရန်အတွက် PyOxidizer ကို ကိုယ်တိုင်ပါရှိသော executables များအဖြစ် ထုတ်ဝေခြင်း

မိတ်ဆက်ပေးသည်။ utility ၏ပထမဆုံးထုတ်ဝေမှု PyOxidizerPython တွင် ပရောဂျက်တစ်ခုအား Python စကားပြန်နှင့် အလုပ်အတွက် လိုအပ်သော စာကြည့်တိုက်များနှင့် အရင်းအမြစ်များအပါအဝင် ကိုယ်တိုင်ပါရှိသော စီစစ်နိုင်သောဖိုင်ပုံစံအဖြစ် ထုပ်ပိုးနိုင်စေပါသည်။ Python tooling ကိုထည့်သွင်းခြင်းမပြုဘဲ သို့မဟုတ် Python ၏လိုအပ်သောဗားရှင်းကို မည်သို့ပင်ဖြစ်စေ ထိုဖိုင်များကို ပတ်ဝန်းကျင်တွင် လုပ်ဆောင်နိုင်ပါသည်။ PyOxidizer သည် စနစ်ဒစ်ဂျစ်တိုက်များနှင့် ချိတ်ဆက်မထားသော ကိန်းသေချိတ်ဆက်ထားသော ဖိုင်များကို ထုတ်ပေးနိုင်သည်။ ပရောဂျက်ကုဒ်ကို Rust နှင့် ရေးသားထားသည်။ ဖြန့်ဝေသည် MPL (Mozilla Public License) 2.0 အောက်တွင် လိုင်စင်ရထားသည်။

အဆိုပါပရောဂျက်သည် တူညီသောအမည်ရှိ Rust ဘာသာစကား module ကိုအခြေခံထားပြီး ၎င်းတို့တွင် Python scripts များကို run ရန်အတွက် Python စကားပြန်ကို Rust ပရိုဂရမ်များတွင် မြှုပ်သွင်းခွင့်ပြုသည်။ PyOxidizer သည် ယခုအခါ Rust အပိုပရိုဂရမ်တစ်ခုအဖြစ် ကျော်လွန်သွားခဲ့ပြီဖြစ်ပြီး ပိုမိုကျယ်ပြန့်သော ပရိသတ်ထံသို့ ကိုယ်တိုင်ပါရှိသော Python ပက်ကေ့ဂျ်များကို တည်ဆောက်ခြင်းနှင့် ဖြန့်ဝေခြင်းအတွက် ကိရိယာတစ်ခုအဖြစ် နေရာယူထားပါသည်။ အက်ပလီကေးရှင်းများကို လည်ပတ်နိုင်သောဖိုင်အဖြစ် ဖြန့်ဝေရန် မလိုအပ်သူများအတွက်၊ PyOxidizer သည် Python စကားပြန်နှင့် လိုအပ်သော extension များထည့်သွင်းရန် မည်သည့် application နှင့်မဆို ချိတ်ဆက်ရန်အတွက် သင့်လျော်သော စာကြည့်တိုက်များကို ဖန်တီးပေးနိုင်သည်။

သုံးစွဲသူများအတွက်၊ ပရောဂျက်ကို အကောင်အထည်ဖော်နိုင်သောဖိုင်တစ်ခုတည်းအဖြစ် ပေးအပ်ခြင်းသည် တပ်ဆင်ခြင်းကို အလွန်ရိုးရှင်းစေပြီး မှီခိုမှုရွေးချယ်ခြင်းလုပ်ငန်းကို ဖယ်ရှားပေးသည်၊ ဥပမာ၊ ဗီဒီယိုတည်းဖြတ်သူများကဲ့သို့သော ရှုပ်ထွေးသော Python ပရောဂျက်များအတွက် အရေးကြီးပါသည်။ အက်ပလီကေးရှင်းထုတ်လုပ်သူများအတွက်၊ PyOxidizer သည် မတူညီသောလည်ပတ်မှုစနစ်များအတွက် ပက်ကေ့ချ်များကိုဖန်တီးရန် မတူညီသောကိရိယာများကိုအသုံးမပြုဘဲ အက်ပ်လီကေးရှင်းပေးပို့မှုကို စုစည်းရာတွင် အချိန်ကုန်သက်သာစေသည်။

အဆိုပြုထားသော စည်းဝေးပွဲများကို အသုံးပြုခြင်းသည် စွမ်းဆောင်ရည်အပေါ် အပြုသဘောဆောင်သည့် အကျိုးသက်ရောက်မှုလည်း ရှိသည် - PyOxidizer တွင် ထုတ်ပေးထားသော ဖိုင်များသည် အခြေခံ module များကို တင်သွင်းခြင်းနှင့် အဓိပ္ပါယ်ဖွင့်ဆိုခြင်းတို့ကို ဖယ်ရှားခြင်းကြောင့် system Python ကို အသုံးပြုသည့်အချိန်ထက် ပိုမိုမြန်ဆန်စွာ အလုပ်လုပ်ပါသည်။ PyOxidizer တွင်၊ modules များကို memory မှတင်သွင်းသည် - built-in modules အားလုံးကို memory ထဲသို့ချက်ချင်းတင်ပြီး disk ကိုမဝင်ရောက်ဘဲအသုံးပြုသည်) ။ စမ်းသပ်မှုများတွင်၊ PyOxidizer ကိုအသုံးပြုသောအခါ အက်ပလီကေးရှင်းဖွင့်ချိန်သည် ခန့်မှန်းခြေအားဖြင့် ထက်ဝက်ခန့်လျော့ကျသွားသည်။

ရှိပြီးသား အလားတူ ပရောဂျက်များထဲတွင် အောက်ပါတို့ကို မှတ်သားနိုင်သည်- PyInstaller (ဖိုင်ကို ယာယီလမ်းညွှန်ထဲသို့ ထုပ်ပိုးပြီး ၎င်းမှ module များကို တင်သွင်းသည်) py2exe (Windows platform နှင့် ချိတ်ဆက်ထားပြီး ဖိုင်များစွာကို ဖြန့်ဝေရန် လိုအပ်သည်) py2အက်ပ် (macOS နှင့် ချိတ်ဆက်ထားသည်)၊ cx-အေးခဲ (သီးခြားမှီခိုထုပ်ပိုးမှု လိုအပ်သည်)၊ Shiv и PEX (ဇစ်ဖော်မတ်ဖြင့် ပက်ကေ့ဂျ်တစ်ခုဖွဲ့ကာ စနစ်ပေါ်ရှိ Python လိုအပ်သည်)၊ Nuitka (စကားပြန်ကို ထည့်သွင်းခြင်းထက် ကုဒ်ကို စုစည်းသည်)၊ လက်ဆေး (Windows နဲ့ချိတ်ထား) PyRun (လည်ပတ်မှုအခြေခံမူများကို ရှင်းလင်းချက်မပြဘဲ ကိုယ်ပိုင်ဖွံ့ဖြိုးတိုးတက်မှု)။

လက်ရှိဖွံ့ဖြိုးတိုးတက်မှုအဆင့်တွင်၊ PyOxidizer သည် Windows၊ macOS နှင့် Linux အတွက် executable files များထုတ်ပေးရန်အတွက် အဓိကလုပ်ဆောင်နိုင်စွမ်းကို အကောင်အထည်ဖော်ခဲ့ပြီးဖြစ်သည်။ လက်ရှိ မရရှိနိုင်သော အခွင့်အလမ်းများမှ မှတ်ချက်ချသည်။ စံတည်ဆောက်မှုပတ်ဝန်းကျင်မရှိခြင်း၊ MSI၊ DMG နှင့် deb/rpm ဖော်မတ်များတွင် ပက်ကေ့ဂျ်များ မထုတ်လုပ်နိုင်ခြင်း၊ C language တွင် ရှုပ်ထွေးသော extensions များပါဝင်သည့် ထုပ်ပိုးမှုပရောဂျက်များနှင့် ပြဿနာများ၊ ပေးပို့မှုကို ပံ့ပိုးရန် အမိန့်များမရှိခြင်း (“pyoxidizer add”၊ “pyoxidizer ခွဲခြမ်းစိတ်ဖြာခြင်း” နှင့် "pyoxidizer အဆင့်မြှင့်တင်ခြင်း") ) ၊ Terminfo နှင့် Readline အတွက် အကန့်အသတ်ရှိသော ပံ့ပိုးမှု၊ Python 3.7 မှလွဲ၍ အခြားထုတ်ဝေမှုများကို ပံ့ပိုးမှုမရှိခြင်း၊ အရင်းအမြစ်ချုံ့ခြင်းအတွက် ပံ့ပိုးမှုကင်းမဲ့ခြင်း၊ cross-compile လုပ်နိုင်စွမ်းမရှိခြင်း။

source: opennet.ru

မှတ်ချက် Add