का उपयोग कर मॉड्यूल निर्भरताओं के साथ एक पायथन पैकेज वितरित करना मेरे पास कई पाइथन अनुप्रयोग हैं जिनमें स्क्रिप्ट/मॉड्यूल शामिल हैं जिन्हें पैक किया जाना चाहिए और आरपीएम के रूप में तैनात किया जाना चाहिए।RPM
ट्रिकियर बिट यह है कि प्रत्येक एप्लिकेशन को सभी पायथन मॉड्यूल निर्भरताओं के साथ वितरित किया जाना चाहिए, और इन्हें किसी भी सिस्टम के लिए वरीयता में इस्तेमाल किया जाना चाहिए।
इनमें से कुछ आरपीएम के लिए लक्षित होस्ट सीमित नेटवर्क पहुंच हैं, इसलिए आरपीएम में समय पर तैनात करने के बजाय ऐप चलाने के लिए आवश्यक सब कुछ होना चाहिए।
मैंने पैकेजिंग को देखा है और virtualenv वितरित किया है, लेकिन वर्चुअलएन्व को स्थानांतरित करना अच्छी तरह से समर्थित नहीं प्रतीत होता है।
मैंने zc.buildout पर देखा है, लेकिन दस्तावेज को कम करने के लिए मिला है। मैं देख सकता था कि विकास के दौरान निर्भरताओं को कैसे डाउनलोड किया जाए, लेकिन बड़े आवेदन के हिस्से के रूप में उन्हें वितरित करने के तरीके को नहीं। यह संभव है कि अलग-अलग ऐप्स को एक ही मॉड्यूल के विभिन्न संस्करणों की आवश्यकता हो, इसलिए इन्हें सिस्टम को व्यापक रूप से स्थापित नहीं किया जाना चाहिए।
एक और दर्द बिंदु यह है कि ऐप में किसी भी पायथन स्क्रिप्ट को विकास के दौरान और तैनाती के बाद एक अलग sys.path का उपयोग करने के लिए संशोधित करने की आवश्यकता है, मैं इसके आसपास एक स्पष्ट तरीका नहीं देख सका।
इस पर सुझाव हैं कि इसे कैसे प्राप्त किया जाए? विशिष्ट मॉड्यूल निर्भरता लाने के लिए
- डाउनलोड आवेदन स्रोत
- रन स्क्रिप्ट यदि मौजूद नहीं है (शायद pip का प्रयोग करके)
- रन स्क्रिप्ट का निर्माण करने की: देखने के एक डेवलपर के दृष्टिकोण से कार्यप्रवाह का एक आदर्श सारांश कैसा लगेगा पायथन ऐप, और पैकेज और इसे सभी डाउनलोड निर्भरताओं RPM
अंतिम आरपीएम को तब स्थापित किया जा सकता है जब कोई नेटवर्क एक्सेस न हो और केवल एक पायथन दुभाषिया स्थापित हो।
आप एक स्टैंडअलोन पायथन निष्पादन योग्य वितरित कर सकते हैं - आरपीएम में पैक किया गया? क्या आपको अपने स्रोत कोड को उपयोगकर्ताओं के लिए उपलब्ध होने की आवश्यकता है? यदि यहां नहीं दिखता है http://stackoverflow.com/questions/5458048/how-to-make-a-python-script-standalone-executable-to-run-without-any- निर्भरता – Anshul
मैंने इसका उपयोग नहीं किया है, लेकिन मैंने इसका उपयोग नहीं किया है, लेकिन [कोंडा] [http://www.continuum.io/blog/conda) का उद्देश्य आपके जैसे मामलों को संभालना है। इस लिंक पर "अपने स्वयं के पैकेज रोलिंग" अनुभाग देखें। –
आपको पीपी बंडल या पीआईपी "व्हील हाउस" का उपयोग करना चाहिए – ionelmc