import sys import os from cx_Freeze import setup, Executable # 添加项目根目录到 Python 路径 project_root = os.path.abspath(os.path.dirname(__file__)) sys.path.append(project_root) # 添加文件 files = [ ("Front/icon.ico", "Front/icon.ico"), # 修改路径保持结构 ("Front/themes", "themes"), ("Front/images", "Front/images"), ("Front/back", "Front/back"), # 整个back目录 ("Front/modules", "Front/modules"), ("Front/widgets", "Front/widgets"), ("Front/SQL", "Front/SQL") ] # 添加所有需要包含的隐藏导入 hidden_imports = [ "Front", "Front.back", "Front.back.GC", "Front.back.GS", "Front.back.WD", "Front.back.Program_Run", "Front.modules", "Front.widgets" ] base = None if sys.platform == "win32": base = "Win32GUI" # 目标 target = Executable( script="Front/main.py", base=base, icon="Front/icon.ico", target_name="控制网复测平面基准归算程序.exe" ) # 设置选项 options = { 'build_exe': { 'include_files': files, 'includes': hidden_imports, 'packages': ['Front', 'PySide6'], 'excludes': ['tkinter'], 'include_msvcr': True, 'path': [project_root] + sys.path, 'build_exe': 'build/ControlNetwork' # 指定构建目录 } } # 设置 cx_Freeze setup( name="控制网复测平面基准归算程序", version="1.0", description="控制网复测平面基准归算程序", options=options, executables=[target] )