我想使用cx_freeze编译带有子模块的
Python 3.3模块.
所以,我的dir结构是:
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)] )
并在’projectname’目录中运行脚本.
但是如果我启动应用程序,我会得到ImportError:没有来自错误对话框的名为’submodule1.submodule11’的模块.
这是真的:在library.zip中,这个子模块不存在.
我做错了什么?