2012-03-26 17 views
7

मेरे पास पाइथन पर आधारित एक एप्लिकेशन है। मैं इस एप्लिकेशन को विभिन्न ओएस (मुख्य रूप से लिनक्स, लेकिन विभिन्न वितरण) पर उपयोगकर्ताओं को वितरित करना चाहता हूं।निर्भरताओं के साथ "स्थैतिक रूप से संकलित" पायथन एप्लिकेशन को वितरित करने के लिए कैसे करें

ऐसा करने का अनुशंसित तरीका क्या है? मैं नहीं चाहता कि उपयोगकर्ताओं को पायथन स्थापित करना पड़े। मैं पाइथन एप्लिकेशन (जो मुफ्त सॉफ्टवेयर है) के साथ वितरित करना चाहता हूं। एक विशिष्ट रूप से संकलित कार्यक्रम की तरह किंडा।

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

अन्य लोग अपने पायथन प्रोग्राम कैसे वितरित करते हैं?

यह एक आवश्यकता है कि यदि उपयोगकर्ता पाइथन को अपने आप इंस्टॉल करता है या मौजूदा पायथन को अपग्रेड करता है तो एप्लिकेशन टूट नहीं जाता है। यही कारण है कि मुझे आवेदन के साथ पाइथन की एक प्रति वितरित करने की आवश्यकता है।

उत्तर

1

देखें या, अपनी वेबसाइट से cx_freeze

देखें:

cx_Freeze बारे

cx_Freeze निष्पादनयोग्य में पाइथन स्क्रिप्ट ठंड के लिए स्क्रिप्ट और मॉड्यूल का एक सेट है, में वही तरीका है कि py2exe और py2app करते हैं। इन दो औजारों के विपरीत, cx_Freeze क्रॉस प्लेटफ़ॉर्म है और किसी भी प्लेटफॉर्म पर काम करना चाहिए जो कि पाइथन स्वयं काम करता है। यह पायथन 2.3 या उच्चतर (पायथन 3 सहित) का समर्थन करता है, क्योंकि यह ज़िप आयात सुविधा का उपयोग करता है जिसे 2.3 में पेश किया गया था।

3

विंडोज के लिए: py2exe मेरा पसंदीदा समाधान है; आप संसाधनों सहित सभी में एक .exe बना सकते हैं।

लिनक्स के लिए, या तो:

  • एक आरपीएम निर्माण और अजगर निर्भरता के रूप में सेट करें, या
  • एक ग निष्पादन योग्य है कि अजगर (dll या libpython.so) एकीकृत बनाएँ।
3

ऐसा करने का अनुशंसित तरीका क्या है? मैं नहीं चाहता कि उपयोगकर्ताओं को पायथन स्थापित करना पड़े।

आमतौर पर, पाइथन कार्यक्रमों को डिट्यूट के साथ 'पैक किया जाता है' और मौजूदा पायथन दुभाषिया के साथ उपयोग के लिए स्थापित किया जाता है।

देखें: Distributing Python Modules और Installing Python Modules

यह अपने सॉफ्टवेयर वितरण के अंदर पूरे दुभाषिया (हालांकि निश्चित रूप से संभव) बंडल करने आम नहीं है।

+0

कोरी, मैं अपने सॉफ्टवेयर वितरण के अंदर पाइथन दुभाषिया को बंडल करने की कोशिश कर रहा हूं, आप यह कैसे सुझाव देंगे कि मैं यह कैसे करना है? धन्यवाद दोस्त। – Johnny

संबंधित मुद्दे

 संबंधित मुद्दे