主程序构建指南
March 22, 2026 · View on GitHub
前期准备
准备虚拟环境
在构建之前,需要先准备好开发环境,具体可参阅 如何配置贴吧桌面的开发环境
在准备好开发环境后,还需要在虚拟环境下安装 pyinstaller 以用于打包,进入虚拟环境执行以下命令即可:
pip install pyinstaller
准备依赖工具
除了虚拟环境,还需要准备以下工具:
- 7-Zip 解压缩工具(用于生成发行压缩包)
- NSIS 安装程序管理系统(可选,用于构建发行安装程序)
以上工具请到网络上自行下载。
设置构建配置文件
执行构建脚本 build.py 需要传入一个 makefile,用于指定各种配置选项,具体可以参考 build_config.json 文件。
注意:构建配置文件的 JSON 架构需要与 build_config.json 的一样。
以下为对配置文件的具体说明:
{
// 源代码目录,即本仓库的 src 文件夹
"src_code_path": "source code path",
// python 虚拟环境目录,目录下有 script/Lib/include 等文件夹
"py_environ_path": "virtual environment path",
// 7-zip 命令行工具的路径,注意是 7z.exe,不是那个带 GUI 的文件管理器 7zfm.exe
"sevenzip_path": "7z.exe path",
"installer_cfg": {
// 是否执行安装包构建,如果为 false 则无需关心 makensis_path 字段的值,且无需安装 NSIS 环境
"build_nsis": true,
// 如果执行安装包构建,请在这里指定 NSIS 安装目录下 makensis.exe 的路径
"makensis_path": "makensis.exe path"
},
// 版本信息
"version": {
// 版本信息字符串,可从 src/consts.py 复制出来
"version_string": "1.2.2-beta",
// 版本信息数组,前三项分别填入 (大版本号, 小版本号, 修订号),最后一位留 0
"version_array": [
1,
2,
2,
0
],
// 构建前的最后一次 git 提交 hash,可以在 github 的提交记录页面找到
"git_last_commit_hash": "b7521348"
}
}
建议:指定路径时,建议使用绝对路径,以避免相对路径带来的各种问题。
启动构建
假设你的构建配置文件为 .\build_config.json,在终端执行以下命令,启动构建过程:
cd project\build-tools
python build.py --makefile .\build_config.json
当终端输出 All processes were GONE. Everything is OK. 字样时,代表构建工作已经成功。
构建成功后,可以在 work_out 目录下找到发行文件,包括压缩包和安装程序。
生成的 work_temp 目录是用于暂存构建文件的,构建脚本会复制一份源代码到此目录,并执行 pyinstaller 的打包操作。构建最终完成时,work_temp
下存储的应当为原始的程序可执行文件。
常见问题
- 当执行构建时终端抛出错误
work_temp tree is existing. Make sure the dir does not exist.时,代表在执行构建前已经有 work_temp 文件夹,请先删除这个文件夹再进行构建。 - 当控制台抛出错误
pyinstaller process failed!时,代表pyinstaller进程执行失败,退出码不是 0。此时需要检查构建配置文件是否正确,路径指定是否有问题。pyinstaller在控制台输出的信息也许有助于解决问题。