2008-09-20 16 views
48

मुझे अपने पायथन एप्लिकेशन, इसकी निर्भरता और पायथन को एक ही एमएसआई इंस्टॉलर में पैकेज करने की आवश्यकता है। अंतिम परिणाम अभीष्टतापूर्वक होना चाहिए:निर्भरताओं सहित एक पायथन एप्लिकेशन को कैसे बंडल करें?

  • अजगर मानक स्थान
  • पैकेज और उसके निर्भरता एक अलग निर्देशिका (संभवत: साइट-संकुल)
  • स्थापना निर्देशिका अजगर को शामिल करना चाहिए में स्थापित कर रहे हैं में स्थापित किया गया है असंपीड़ित और एक स्टैंडअलोन निष्पादन योग्य नहीं है
+0

http://stackoverflow.com/questions/2933/how-can-i-create-a-directly-executable-cross-platform-gui-app-using-python – nbro

उत्तर

25

how to make a python into an executable के बारे में इस प्रश्न की एक डुप्ली की तरह।

मैक पर खिड़कियों पर py2exe, Freeze लिनक्स पर, और py2app:

यह करने के लिए निर्भर करता है।

+2

नहीं वास्तव में एक dup। यह पैकेजिंग के लिए विशिष्ट है। उस दूसरे आदमी के पास अभी तक कोई सुराग नहीं है।लेकिन अच्छा, यह py2exe –

1

py2exe ऐसा करने का सबसे अच्छा तरीका है। यह उपयोग करने के लिए एक पिटा का थोड़ा सा है, लेकिन अंतिम परिणाम बहुत अच्छी तरह से काम करता है।

1

py2exe मैं PyInstaller (SVN संस्करण) का उपयोग अपने कार्यक्रम है कि अजगर और सभी निर्भरता भी शामिल की एक स्टैंड-अलोन संस्करण बनाने के लिए में बंडल अजगर के साथ खिड़कियां निष्पादनयोग्य कर देगा।

16

। यह सही काम करने के लिए थोड़ा सा झुकाव लेता है और सबकुछ शामिल करता है (जैसा कि py2exe और अन्य समान प्रोग्राम करता है, this question देखें), लेकिन फिर यह बहुत अच्छी तरह से काम करता है।

आपको फिर इंस्टॉलर बनाने की आवश्यकता है। NSIS उसके लिए बहुत अच्छा काम करता है और मुफ़्त है, लेकिन यह .exe फ़ाइलों को .msi नहीं बनाता है। यदि। एमएसआई आवश्यक नहीं है, तो मैं अत्यधिक अनुशंसा करता हूं। अन्यथा अन्य विकल्पों के लिए this प्रश्न के उत्तर देखें।

4

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

3

मेरे पास pyinstaller का उपयोग कर निर्भरता और कस्टम फ़ोल्डर संरचनाओं के साथ बहुत बेहतर परिणाम हुए हैं, और यह आपको बड़ी निर्भरताओं जैसे numpy और scipy के लिए छिपे हुए आयात और हुक को खोजने और निर्दिष्ट करने देता है। हालांकि, एक पिटा भी।

0

ठीक है, मैंने पहले py2exe का उपयोग किया है और यह एक चीज़ को छोड़कर पूरी तरह से काम करता है ... यह केवल निष्पादन योग्य विंडोज मशीनों पर काम करता है। तब मैंने ज्योथन के बारे में सीखा जो एक पायथन लिपि को एक। Jar फ़ाइल में बदल देता है। जैसा कि आप जानते हैं कि जावा में किसी भी मशीन से निष्पादन योग्य है ("आपके नवीनतम चल रहे संस्करण") को स्थापित किया गया है। जो महान है क्योंकि यूनिक्स, विंडोज़ और आईओएस (अधिकांश समय) जावा चलाएं। इसका मतलब है कि निम्नलिखित सभी मशीनों से इसका निष्पादन योग्य है। जब तक वे जावा चलाते हैं। सभी ऑपरेटिंग सिस्टम पर चलाने के लिए "py2mac + py2exe + फ्रीज" की आवश्यकता नहीं है। बस ज्योथन

यह कैसे काम करता है और आप इसका उपयोग कैसे कर सकते हैं इसके बारे में अधिक जानकारी के लिए यहां क्लिक करें।
http://www.jython.org/

+0

के बारे में जानकारी के लिए है कृपया अपने समाधान में अधिक अंतर्दृष्टि प्रदान करें। शर्तों को समझाएं, यदि आवश्यक हो तो बाहरी लिंक संलग्न करें। –

+0

इसके बारे में क्षमा करें, और यह एक सरल रूप है जैसे कि आपके अजगर परियोजनाओं को निष्पादन योग्य जार फ़ाइल में बदलने के py2exe। बस त्वरित GoogleJjython और इसके रूप में यह आसान है। –

+0

क्या आखिरी संपादन में मदद मिली? –

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