cx_Freeze 是什么
cx_Freeze 能把 Python 脚本转成可执行文件,支持 Windows、macOS、Linux。和 PyInstaller 比,用它打出来的包通常更小,兼容性也不差——如果项目对体积敏感,我会优先考虑它。
起步:安装和最简单的 setup.py
先装上 cx_Freeze:
pip install cx-Freeze
打包的入口是 setup.py,在这里定义应用名、版本和主脚本。
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
几个常用的进阶配置
图标和窗口模式
如果想让 .exe 看起来更正式,在 Executable 里指定 .ico 图标。GUI 应用一般要把控制台窗口隐藏掉,免得运行时带个黑框。
executables = [
Executable(
"app.py",
base="Win32GUI", # 隐藏控制台
icon="app.ico" # 图标
)
]
base="Win32GUI" 只在 Windows 上有效,macOS 和 Linux 不需要,写了也不报错但没什么用。
把数据文件和资源带进去
如果程序靠配置文件、图片之类的非代码资源活着,必须显式声明,否则打包后找不到路径。
build_exe_options = {
"packages": ["os", "tkinter"], # 强制包含的模块
"excludes": ["tkinter.test"], # 排除用不到的测试模块
"include_files": ["data/config.json", "images/"] # 要一起复制过去的文件或目录
}
setup(
name="AppName",
version="1.0",
description=,
options={: build_exe_options},
executables=executables
)

