cx_freeze构建包含我的计算机上安装的所有模块,因此冻结的构建变得非常庞大。如何禁用自动检测功能?我只想构建一个小的PyQt应用程序:import sysfrom cx_Freeze import setup, Executablepath = sys.path + ["app"]includes = ["app.core", "app.utils"]excludes = ["tcl"]build_exe_options = {"path": path,"icon": "resources\icons\clock.ico"}base = Noneif sys.platform == "win32": base = "Win32GUI"setup( name = "app", version = "1.1", description = "My Application", options = {"build_exe": build_exe_options}, executables = [Executable("app.py", base=base, targetName="app.exe", shortcutName="Application", shortcutDir="DesktopFolder")])另外我有我的自定义模块,每个模块都有一个utils子模块,因此cx_freeze放错了模块。如何设置我需要的严格模块清单?
1 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
这很简单。此应用程序使用自定义模块,因此我已将应用程序文件夹添加到路径中:
path = sys.path + ["app"]
诀窍是应用程序使用模块“ utils”,而我的操作系统路径中还有其他“ utils”模块。其他“ utils”模块导入了很多东西,例如matplotlib,PIL等。因此,我通过更改如下路径环境解决了问题:
path = ["app"] + sys.path
因此,当冻结可执行文件时,cx_freeze会获取正确的模块。
添加回答
举报
0/150
提交
取消