2009-04-01 12 views
16

की आवश्यकता नहीं है, एक पायथन स्क्रिप्ट से स्टैंडअलोन .exe बनाने का कोई तरीका है। py2exe के साथ जेनरेट किए गए निष्पादन योग्य केवल pythonXX.dll के साथ चल सकते हैं। मैं पूरी तरह से स्टैंडअलोन प्राप्त करना चाहता हूं .exe जिसे पायथन रनटाइम लाइब्रेरी स्थापित करने की आवश्यकता नहीं है। यह एक लिंकिंग समस्या की तरह दिखता है लेकिन स्थिर पुस्तकालय का उपयोग गतिशील एक के बजाय और अप्रयुक्त प्रतीकों को हटाने के लिए एक स्ट्रिप को लागू करने के लिए भी उपयोगी होगा।एक स्टैंडअलोन विंडोज एक्सई बनाएं जिसमें pythonXX.dll

कोई विचार?

धन्यवाद।

Alessandro

उत्तर

17

आप इसे py2exe के नवीनतम संस्करण में कर सकते हैं ...
बस अपने setup.py फ़ाइल में नीचे दिए गए कोड की तरह कुछ जोड़ें (मुख्य भाग 'bundle_files': 1) है।

इंस्टॉल में अपना TkInter पैकेज शामिल करने के लिए, 'शामिल' कुंजी का उपयोग करें।

distutils.core.setup(
     windows=[ 
      {'script': 'yourmodule.py', 
      'icon_resources': [(1, 'moduleicon.ico')] 
      } 
     ], 
     zipfile=None, 
     options={'py2exe':{ 
         'includes': ['tkinter'], 
         'bundle_files': 1 
         } 
     } 
) 
+0

समाधान अच्छी तरह से काम कर रहा है लेकिन exe में tkinter शामिल करने के बारे में क्या? निष्पादन योग्य दुर्घटनाएं अगर मैं इसे दूरस्थ निर्देशिका से बाहर ले जाती हूं लेकिन यह दूर के अंदर अच्छी तरह से काम करती है जहां "tcl" dir मौजूद है। – alexroat

+0

ooops, क्षमा करें, विकल्प 'bundle_files' के साथ: 1 यह दूरस्थ निर्देशिका से या बाहर से exe लॉन्च करने दोनों काम नहीं कर रहा है। क्या एक्सई में टीसीएल पुस्तकालयों को भी शामिल करने का कोई तरीका है? धन्यवाद। – alexroat

+0

मैंने आपको अन्य संकुल को शामिल करने के तरीके को दिखाने के लिए विकल्प चर अद्यतन किया है। –

1

यह यह करने के लिए सबसे अच्छा तरीका नहीं है, लेकिन आप दोनों .exe और .dll फ़ाइलों के अंदर के साथ निष्पादन योग्य SFX पुरालेख का उपयोग कर, और यह सेट करते समय यह डबल है अपने exe फ़ाइल को निष्पादित करने की सोच सकते हैं क्लिक किया।

5
कैसे विंडोज 'गतिशील लिंकर काम करता है आप स्थिर पुस्तकालय का उपयोग नहीं कर सकते हैं अगर आप .pyd या .dll अजगर मॉड्यूल का उपयोग करने के कारण

; विंडोज़ में लोड किए गए डीएलएल स्वचालित रूप से निष्पादन योग्य के साथ अपने प्रतीक स्थान को साझा नहीं करते हैं और इसलिए पाइथन प्रतीकों वाले एक अलग डीएलएल की आवश्यकता होती है।

2

एक और समाधान पायथन के साथ एक एकल exe बनाने और python.dll सहित इसके अंदर अपनी सभी निर्भरताओं को स्थापित करना है। रैपर में थोड़ा जादू है, लेकिन यह सिर्फ काम करता है। विवरण यहां हैं:

http://code.google.com/p/pylunch/downloads/detail?name=PyLunch-0.2.pdf

4

एक भी निष्पादन योग्य होने के उद्देश्य से डाउनलोड/ईमेल, आदि को कम करने के लिए है, तो मैं Inno Setup का उपयोग कर py2exe उत्पादन bundling द्वारा इस समाधान कर लिया है। यह वास्तव में एक निष्पादन योग्य होने से बेहतर है, क्योंकि निष्पादन योग्य फ़ाइल प्रदान करने के बजाय कुछ निर्देशिका में छोड़ा जा सकता है, एक अच्छी तरह से व्यवहार किया गया विंडोज एप्लिकेशन एक अनइंस्टॉलर प्रदान करेगा, प्रोग्राम जोड़ें/निकालें एप्लेट आदि में दिखाएगा। इनो सभी को संभालता है यह आपके लिए।

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