python - cx_freeze और आयात मॉड्यूल
compilation executable (1)
तो, मुझे जवाब मिला: प्रत्येक मॉड्यूल में एक __init__.py
फ़ाइल होना चाहिए। अब मैं अपना प्रोजेक्ट संकलित कर रहा हूं।
मैं cx_freeze का उपयोग करते हुए submodules के साथ एक पायथन 3.3 मॉड्यूल संकलित करना चाहता हूं।
तो, मेरी डियर स्ट्रक्चर्यूज़ है:
projectname/
__init__.py
submodule1/
__init__.py
bootstrap.py
script1.py
submodule11/
script2.py
submodule2/
...
__init__.py
मैं आयात में
from submodule1 import bootstrap
और बूटस्ट्रैप से
import submodule1.submodule11.script2
अगर मैं init फ़ाइल चलाता हूं, तो कुछ भी अच्छा है और पटकथा आयात के साथ स्क्रिप्ट ठीक से निष्पादित की जाती है।
जब मैं इसे संकलित करता हूँ, तो मैं इस setup.py का उपयोग करता हूँ:
from cx_Freeze import setup,Executable
import sys
includes = []
excludes = ['Tkinter']
packages = ['submodule1', 'submodule2']
base = "Win32GUI"
setup(
name = 'myapp',version = '0.1',description = 'app',author = 'user',
options = {'build_exe': {'excludes':excludes,'packages':packages}},
executables = [Executable('__init__.py',base=base)]
)
और 'प्रोजेक्टनाम' डायर में स्क्रिप्ट चलाएं।
लेकिन अगर मैं आवेदन शुरू करता हूं तो मुझे ImportError: no module named 'submodule1.submodule11'
मिलती है ImportError: no module named 'submodule1.submodule11'
त्रुटि संवाद से ImportError: no module named 'submodule1.submodule11'
।
और यह सच है: पुस्तकालय में.जिप करें कि यह सबपलोडन मौजूद नहीं है।
मुझसे क्या गलती हुई है?