पर py2exe का उपयोग करके संकलन जारी करना मैं विंडोज़ पर चलाने के लिए एक एक्सई फ़ाइल में अपनी स्क्रिप्ट संकलित करने के लिए py2exe का उपयोग कर रहा हूं, लेकिन मैं अपने ओएस के आधार पर त्रुटियों को मार रहा हूं, जो विंडो 7 x64 है। मैं cmd में नीचे स्क्रिप्ट चल रहा हूँ execmaker.py py2exe
का उपयोग कर:विंडोज 7 x64
from distutils.core import setup
import py2exe
includes = []
excludes = ['_gtkagg', '_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger',
'pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl',
'Tkconstants', 'Tkinter']
packages = []
dll_excludes = ['libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll', 'tcl84.dll',
'tk84.dll']
setup(
options = {"py2exe": {"compressed": 2,
"optimize": 2,
"includes": includes,
"excludes": excludes,
"packages": packages,
"dll_excludes": dll_excludes,
"bundle_files": 1,
"dist_dir": "dist",
"xref": False,
"skip_archive": False,
"ascii": False,
"custom_boot_script": '',
}
},
windows=['My_Script.py'] #this is the name of the script I'm compiling to exe
)
वास्तविक स्क्रिप्ट मैं exe में संकलन कर रहा हूँ महत्वपूर्ण नहीं है, क्योंकि यह पूरी तरह से ठीक है जब मैं यह bundle_files: 3,
का उपयोग कर संकलित काम किया जो किसी भी फाइल को बंडल नहीं करता है और एक फ़ोल्डर में ~ 200 .pyo फ़ाइलों को छोड़ देता है।
तो चलिए समस्या के केंद्र में आते हैं: जैसा कि मैं विन 7 x64 पर हूं, मेरे पास पाइथन 2.7.5 का 64-बिट संस्करण है। जब मैं cd
फ़ाइल पर नीचे execmaker.py
और My_Script.py
फ़ाइलें cmd (execmaker.py py2exe
) में चलाती हैं और इसे चलाती हैं, तो मुझे एक त्रुटि संदेश मिलता है जो निम्नानुसार पढ़ता है: error: bundle-files 1 is not yet supported on win64
, जिसका अर्थ यह है कि यह फ़ाइलों को बंडल नहीं करेगा क्योंकि मेरा ओएस 64-बिट है। मैंने सोचा कि शायद यह एक समस्या थी क्योंकि मेरे पास 64-बिट पायथन स्थापित है, लेकिन जब मैंने इसे अनइंस्टॉल किया, तो मुझे त्रुटि मिली DLL load failed: %1 is not a valid Win32 application.
डीएलएल लोड त्रुटि 64-बिट विंडोज़ पर 32-बिट पायथन चलाने के कारण होती है । तो मूल रूप से, यह 32-बिट या 64-बिट पायथन के साथ काम नहीं करता है क्योंकि मैं 64-बिट विंडोज चला रहा हूं। क्या इसके लिए कोई कामकाज है, या क्या मुझे संकलन करने के लिए 32 बिट मशीन पर पाइथन और सभी मॉड्यूल का उपयोग करने की आवश्यकता है?
सहायता के लिए धन्यवाद, और इस लंबे प्रश्न के माध्यम से मेरे साथ असर के लिए धन्यवाद।
संपादित करें - समाधान: मैंने कुछ और शोध किया और कुछ भी नहीं आया। अभी के लिए, जब तक कि इस प्रश्न का उत्तर कुछ अधिक कुशलता से नहीं दिया जाता है, तो मुझे लगता है कि विभाजन पर या समांतरों के माध्यम से 32-बिट ऑपरेटिंग सिस्टम स्थापित करना (जैसा कि मैंने इसे किया है) को पर्याप्त होना होगा।
मुझे एक बहुत लंबा सवाल होगा जो कि यहां दिखाई देने वाले कुछ अन्य ड्रॉ से भी अच्छा विचार किया गया है ("मेरी 400-लाइन फ़ंक्शन में त्रुटि है, बिना किसी त्रुटि के त्रुटि है, और कोड का पूरी तरह से असंबंधित टुकड़ा पोस्ट करना)। मेरी इच्छा है कि मैं आपकी मदद कर सकूं :-) – paxdiablo
मैं भावना की सराहना करता हूं! मेरे पिछले प्रश्नों में से अधिकांश भयानक हैं, इसलिए यह सुनकर बहुत ही अच्छा लगता है कि यह कम हो सकता है। –
'python execmaker.py py2exe' चलाने का प्रयास करें। मैंने पाया है कि कभी-कभी परिणाम (अन्य पायथन स्क्रिप्ट्स) के परिणामस्वरूप दुभाषिया को स्पष्ट रूप से आमंत्रित करने और खिड़की के फाइल एसोसिएशन को इसे संभालने के बीच भिन्न होता है। – martineau