2012-04-03 13 views
5

मैं कोड किए गए पायथन एप्लिकेशन से इंस्टॉलर बनाने की कोशिश कर रहा हूं। मैंने एक सरल setup.py फ़ाइल लिखा और यह एक .msi फ़ाइल उत्पन्न नहीं करता है, लेकिन मैं डिफ़ॉल्ट इंस्टॉल पथ निर्दिष्ट करने का तरीका नहीं समझ सकता। हम इसे डिफ़ॉल्ट "सी: \ प्रोग्राम फ़ाइलें" निर्देशिका में स्थापित नहीं करना चाहते हैं। मदद?मैं cx_freeze और distutils में किसी एमएसआई का डिफ़ॉल्ट इंस्टॉल पथ कैसे निर्दिष्ट करूं?

+0

तो मैं मैं जोड़ सकते हैं "मिला - -इनियल-टार्गेट-डीआईआर "लाइन पर ध्वज: ' पायथन setup.py bdist_msi --initial-target-dir' लेकिन मैं setup.py फ़ाइल में ऐसा करने की उम्मीद कर रहा था। – Cesar

उत्तर

2

इंस्टॉलर बनाने की बात आने पर Distutils कार्यक्षमता में सीमित है। मैं सुझाव दूंगा कि आप इसके बजाय NSIS का उपयोग करें। यह काफी सरल है और आपको distutils से बहुत अधिक अनुकूलित करने देता है।

अन्य तरीके से मैन्युअल --initial-लक्ष्य-निर्देशिका (setup समारोह कॉल करने से पहले) setup.py में तर्क सूची में जोड़ने के लिए होगा:

if 'bdist_msi' in sys.argv: 
    sys.argv += ['--initial-target-dir', 'c:\default\path'] 
+0

इस के लिए चेतावनी यह थी कि हमें इसे पायथन 3 के साथ संगत होने की आवश्यकता है, अगर, यदि मैं साइट को सही तरीके से पढ़ रहा हूं, तो एनएसआईएस समर्थन नहीं करता है। इससे पहले उल्लेख नहीं करने के लिए माफ़ी। – Cesar

+0

एनएसआईएस को किसी भी चीज़ के साथ काम करना चाहिए - यह पायथन के लिए विशिष्ट नहीं है और पाइथन पर भरोसा नहीं करता है, इसलिए अजगर संस्करण कोई फर्क नहीं पड़ता। यद्यपि आप इसे भी कर सकते हैं एक और तरीका है, और मैंने इसके साथ जवाब अपडेट कर दिया है। – aquavitae

+0

धन्यवाद! यह हमारे लिए पूरी तरह से काम करना चाहिए! – Cesar

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