我想使用cx_freeze編譯帶有子模塊的Python 3.3模塊。cx_freeze和導入模塊
所以,我的DIR strucuture是:
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'
。
這是真的:在library.zip中這個子模塊不存在。
我該怎麼做?
你能顯示凍結它的輸出嗎?它會很長,放在一個pastebin中。 – 2014-09-19 22:04:21