cx_Freeze 简介
cx_Freeze 是一个将 Python 脚本转换为可执行文件的工具,支持 Windows、macOS 和 Linux 平台。相比 PyInstaller,它在生成文件体积和兼容性上往往更有优势,特别适合对部署包大小敏感的项目。
环境准备与基础安装
首先确保已安装 cx_Freeze:
pip install cx-Freeze
核心逻辑在于编写 setup.py 脚本。这是 cx_Freeze 的入口,通过它定义应用名称、版本以及入口点。
from cx_Freeze import setup, Executable
# 指定主程序入口
executables = [Executable("your_script.py")]
setup(
name="your_application_name",
version="0.1",
description="描述你的应用",
executables=executables
)
运行构建命令后,会在当前目录生成 build 文件夹,里面包含编译好的可执行文件和依赖库:
python setup.py build
进阶配置实战
1. 自定义图标与窗口模式
为了让生成的 .exe 看起来更专业,可以在 Executable 中指定图标文件(需为 .ico 格式)。如果是 GUI 应用,建议隐藏控制台窗口,避免运行时弹出黑框。
executables = [
Executable(
"app.py",
base="Win32GUI", # 隐藏控制台窗口
icon="app.ico" # 设置图标
)
]
注意:base="Win32GUI" 仅在 Windows 下有效,Linux/macOS 通常不需要此参数。
2. 数据文件与资源管理
如果应用依赖配置文件、图片或其他非代码资源,必须显式声明,否则打包后可能找不到路径。
build_exe_options = {
"packages": ["os", "tkinter"], # 强制包含的模块
"excludes": ["tkinter.test"], # 排除不需要的测试模块
"include_files": ["data/config.json", "images/"] # 附加文件或目录
}
setup(
name="AppName",
version=,
description=,
options={: build_exe_options},
executables=executables
)

