PyOxidizer निष्पादन योग्य फाइलों में पायथन परियोजनाओं की पैकेजिंग के लिए एक उपयोगिता

पायऑक्सीडाइज़र

कुछ दिन पहले डेवलपर्स ने PyOxidizer उपयोगिता का पहला संस्करण पेश किया, जो के रूप में की पेशकश की है एक उपयोगिता जिसे एक अलग निष्पादन योग्य फ़ाइल के रूप में पायथन प्रोजेक्ट को पैकेज करने के लिए इस्तेमाल किया जा सकता है, अजगर दुभाषिया और सभी आवश्यक पुस्तकालयों और संसाधनों सहित।

पायथन टूलकिट स्थापित किए बिना या पायथन के आवश्यक संस्करण की उपलब्धता की परवाह किए बिना वातावरण में ऐसी फाइलें चलाई जा सकती हैं।

PyOxidizer सांख्यिकीय रूप से संबंधित निष्पादनयोग्य भी उत्पन्न कर सकता है जो सिस्टम लाइब्रेरी से संबद्ध नहीं हैं। प्रोजेक्ट कोड रस्ट भाषा में लिखा गया है और इसे MPL (मोज़िला पब्लिक लाइसेंस) 2.0 के तहत वितरित किया गया है।

PyOxidizer के बारे में?

अल proyecto रस्ट भाषा के लिए उसी नाम के मॉड्यूल पर आधारित है, जो आपको रस्ट प्रोग्राम में पायथन इंटरप्रेटर को एम्बेड करने की अनुमति देता है उन पर पायथन स्क्रिप्ट चलाने के लिए।

पायऑक्सीडाइज़र अब यह रस्ट के लिए प्लगइन से आगे बढ़ गया है और स्टैंडअलोन पायलोन पैकेज बनाने और वितरित करने के लिए एक व्यापक दर्शकों के लिए उपलब्ध टूल के रूप में तैनात है।

PyOxidizer एक उपयोगिता है जिसका उद्देश्य Python अनुप्रयोगों को वितरित करने की समस्या को हल करना है।

उन लोगों के लिए जिन्हें एक निष्पादन योग्य फ़ाइल के रूप में आवेदन पत्र वितरित करने की आवश्यकता नहीं है, PyOxidizer पायथन दुभाषिया और उन में एक्सटेंशन के आवश्यक सेट को एम्बेड करने के लिए किसी भी एप्लिकेशन के साथ लिंक करने के लिए उपयुक्त लाइब्रेरी उत्पन्न करने के अवसर प्रदान करता है।

अजगर आवेदन वितरण को आमतौर पर एक अनसुलझी समस्या माना जाता है क्योंकि पायल के लिए रसेल कीथ-मैगी ने एक लंबी उम्र के लिए एक संभावित खतरे के रूप में कोड वितरण की पहचान की। उनके शब्दों में, पायथन का कभी भी ऐसा सुसंगत इतिहास नहीं रहा है कि मैं अपना कोड किसी और को कैसे देता हूं, खासकर यदि वह दूसरा व्यक्ति डेवलपर नहीं है और सिर्फ मेरे आवेदन का उपयोग करना चाहता है।

अंतिम उपयोगकर्ताओं के लिए, एक निष्पादन योग्य फ़ाइल के रूप में एक परियोजना वितरित करना यह स्थापना को बहुत सरल करता है और निर्भरता के चयन के काम को समाप्त करता है, जो कि महत्वपूर्ण है, उदाहरण के लिए, जटिल पायथन परियोजनाओं जैसे कि नए संपादकों के लिए।

जबकि दूसरी ओर एप्लिकेशन डेवलपर्स के लिए, PyOxidizer उन्हें एप्लिकेशन के वितरण को व्यवस्थित करने के लिए समय बचाने में सक्षम बनाता है विभिन्न ऑपरेटिंग सिस्टम के लिए पैकेज बनाने के लिए विभिन्न उपकरणों का उपयोग किए बिना।

PyOxidizer कैसे काम करता है?

प्रस्तावित बिल्ड का उपयोग करना इसका प्रदर्शन पर भी सकारात्मक प्रभाव पड़ता है: पायोक्सिडाइज़र में उत्पन्न फाइलें पायथन सिस्टम का उपयोग आयातों को हटाने और बुनियादी मॉड्यूल को परिभाषित करने की तुलना में तेजी से चलती हैं।

PyOxidizer में, मॉड्यूल स्मृति से आयात किए जाते हैं (सभी अंतर्निहित मॉड्यूल तुरंत मेमोरी में लोड किए जाते हैं और फिर डिस्क एक्सेस के बिना उपयोग किए जाते हैं)। परीक्षण में, PyOxidizer के साथ एप्लिकेशन स्टार्टअप समय लगभग आधा है।

इसी तरह की मौजूदा परियोजनाओं से, इसका निरीक्षण करना संभव है: PyInstaller (एक अस्थायी निर्देशिका में फ़ाइल को अनपैक करता है और इससे मॉड्यूल आयात करता है)।

  • Py2exe (विंडोज़ प्लेटफ़ॉर्म से जुड़ा हुआ है और कई फ़ाइल वितरण की आवश्यकता है), py2app (macOS से जुड़ा)
  • Cx-freeze (अलग निर्भरता पैकेजिंग की आवश्यकता होती है), शिव और PEX (एक ज़िप पैकेज बनाते हैं और सिस्टम पर पायथन की आवश्यकता होती है)
  • Nuitka (कोड संकलित करता है, एम्बेडेड इंटरप्रेटर नहीं), pynsist (विंडोज से जुड़ा हुआ), PyRun (काम के सिद्धांतों की कोई व्याख्या के साथ मालिकाना विकास)।

विकास के वर्तमान स्तर पर, PyOxidizer ने विंडोज, मैकओएस और लिनक्स के लिए निष्पादन योग्य फ़ाइलों को उत्पन्न करने के लिए पहले से ही मुख्य कार्यक्षमता को लागू किया है।

दूरगामी क्षमताओं में मानक संकलन वातावरण का अभाव, एमएसआई, डीएमजी और डिब / आरपीएम प्रारूप में पैकेज उत्पन्न करने में असमर्थता, परियोजना पैकेजिंग समस्याओं के साथ सी भाषा के लिए जटिल एक्सटेंशन शामिल हैं।

जबकि डिलीवरी का समर्थन करने के लिए निर्देशों का अभाव ("पाइक्सीडाइज़र ऐड", "पाइक्सीडाइज़र एनालिसिस" और "पाइक्सीडाइज़र अपग्रेड") और टर्मिनेफो और रीडलाइन के लिए सीमित समर्थन, पायथ्रो 3.7 के अलावा अन्य संस्करणों के लिए समर्थन की कमी, संसाधन संपीड़न की कमी, पार करने में असमर्थता। संकलन करें।

Fuente: https://pyoxidizer.readthedocs.io


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।