2010-11-16 10 views
9

संभव डुप्लिकेट लिखा:
Distributing Python programsवितरण कार्यक्रम अजगर में

मैं कुछ जीयूआई कार्यक्रमों मैं अजगर में किए गए के लिए कई स्रोत कोड है। मैं उन्हें वितरित करना चाहता हूं। हालांकि, मैं इसे अंतिम उपयोगकर्ता के लिए प्रोग्राम को चलाने और चलाने के लिए जितना संभव हो सके बनाना चाहता हूं। इस समस्या के बारे में जाने का आम तरीका क्या है?

यह विंडोज एक्सपी और इसके संदर्भ में है।

+0

http://stackoverflow.com/questions/1558385/how-can-i-distribute-python-programs?lq=1 – pmav99

उत्तर

20

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

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

कुछ मामलों में ऐसे विकल्प हैं जो आपको इन विकल्पों का उपयोग करने से रोकते हैं। उदाहरण के लिए आप पायथन और/या निर्भरताओं को स्थापित नहीं कर सकते (कोई रूट/व्यवस्थापक खाता नहीं)। यदि ऐसा है, तो आप अपने मॉड्यूल (ओं) को अपने प्रोग्राम को चलाने के लिए आवश्यक सभी चीज़ों के साथ बंडल कर सकते हैं (जैसे विंडोज़ पर पायथन *। डीएल)। जहाँ तक मैं वितरण के इस प्रकार के लिए बुनियादी विकल्प के रूप में जानते हैं अनुसरण कर रहे हैं लोगों को:

  1. py2exe
  2. py2app (केवल मैक के लिए ओएस)
  3. PyInstaller
  4. cx_Freeze
  5. bbFreeze
  6. vendorID
  7. freeze
  8. nuitka --standalone
  9. cython --embed

इन उपकरणों (मैं केवल खिड़कियों के लिए लगता है) के अधिकांश के लिए एक ग्राफिकल इंटरफेस gui2exe (फ्रीज को छोड़कर) है। सभी प्लेटफार्मों पर ऊपर उल्लिखित सभी टूल नहीं चला या/और python3 समर्थन करते हैं:

एक और दृष्टिकोण Portable Python उपयोग करने के लिए या लिनक्स/बीएसडी StaticPython

नोट के मामले में किया जाएगा। उनके दस्तावेज की जांच करें।

अद्यतन

एक नहीं बल्कि intresting मॉड्यूल भी Esky जो स्वत: अपडेट जमे हुए क्षुधा का वादा किया है। आपको एक वीडियो-परिचय HERE

4

आप py2exe चाहते हैं, जो distutils पैकेज का विस्तार है।

http://www.py2exe.org/

+7

py2exe एक distutils विस्तार है। यह distutils पैकेज का हिस्सा नहीं है, जो पायथन मानक पुस्तकालय में है। – Velociraptors

+2

py2exe का उपयोग मूल रूप से पाइथन व्याख्याकर्ता और पायथन कोड को अतिरिक्त पुस्तकालयों के साथ एक exe में पैकेज करेगा (या उचित झंडे के साथ उपयोग की जाने वाली कोई अतिरिक्त फाइल नहीं)। इसके बाद आप आवश्यक फ़ाइलों को एक 'स्वयं इंस्टॉलर' में पैकेज करने के लिए इनोसेटअप http://www.jrsoftware.org/isinfo.php जैसे कुछ का उपयोग कर सकते हैं जो गैर-तकनीक – g19fanatic

+0

[यहां एक टिप्पणी संस्करण] को वितरित करना आसान बनाता है। (http://aegis.codepad.org/DnSzcjW6) py2exe सेटअप स्क्रिप्ट का मैंने कुछ परियोजनाओं में उपयोग किया है - यह एक एकल exe फ़ाइल बनाता है और इसमें कुछ अच्छे विकल्प हैं। परिणामी निष्पादन योग्य को संपीड़ित करने के लिए [अपाचे देखें] (http://upx.sourceforge.net/) – lunixbochs

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