更新md文件说明
This commit is contained in:
17
README.md
17
README.md
@@ -201,14 +201,23 @@ gitver pyinstaller=<pid> [repodir=<path>] [-test] [params="<mainPy|specFile> <py
|
|||||||
python -m PyInstaller <params>
|
python -m PyInstaller <params>
|
||||||
```
|
```
|
||||||
|
|
||||||
版本号照常从 Git tag 计算并输出,但 PyInstaller 本身不接受 `--windows-product-version` 等命令行参数。如需将版本信息嵌入 EXE,建议在 `.spec` 文件中通过 `version=` 字段或外部 version resource 文件实现。
|
版本号照常从 Git tag 计算并输出。在 **spec 模式**下,gitver 会在调用 PyInstaller 前自动将版本号写入版本信息,具体行为取决于 spec 文件中 `version=` 字段的值:
|
||||||
|
|
||||||
|
| spec 中 `version=` 的值 | 行为 |
|
||||||
|
|---|---|
|
||||||
|
| `'version_info.txt'`(引号路径,文件存在) | 就地更新外部版本信息文件 |
|
||||||
|
| `'1.2.3.4'`(引号字符串,非有效文件路径) | 替换 spec 内该引号字符串为新版本号 |
|
||||||
|
| `version_info`(无引号标识符,spec 内定义的 VSVersionInfo 对象) | 就地更新 spec 文件内的版本字段 |
|
||||||
|
| 无 `version=` / `version=None` | 在 spec 目录生成 `version_info.txt` 并自动注入 `version='version_info.txt'` |
|
||||||
|
|
||||||
|
在 **脚本模式**(`.py` 入口)下,PyInstaller 不接受命令行版本参数,版本号仅输出到控制台,不嵌入 EXE。
|
||||||
|
|
||||||
**两种打包模式:**
|
**两种打包模式:**
|
||||||
|
|
||||||
| 模式 | 参数示例 | 说明 |
|
| 模式 | 参数示例 | 说明 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 脚本模式 | `params="main.py"` | 由 PyInstaller 自动生成 spec 并打包 |
|
| 脚本模式 | `params="main.py"` | 由 PyInstaller 自动生成 spec 并打包 |
|
||||||
| spec 模式 | `params="myapp.spec"` | 使用已有 spec 文件,打包配置完全由 spec 控制,`params=` 仅适用于路径类运行时选项(`--distpath` 等) |
|
| spec 模式 | `params="myapp.spec"` | 使用已有 spec 文件,打包配置完全由 spec 控制;gitver 在调用 PyInstaller 前**自动将版本号写入版本信息**(见下表) |
|
||||||
|
|
||||||
**示例:**
|
**示例:**
|
||||||
|
|
||||||
@@ -452,7 +461,7 @@ VSVersionInfo(
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
> `version_info.txt` 中的版本号需与实际构建版本保持一致。如需自动同步,可在构建脚本中先调用 `gitver setver=<pid>` 获取版本,再用脚本替换 `version_info.txt` 中的版本字段,然后执行 `gitver pyinstaller=<pid> params="myapp.spec"`。
|
> 在 spec 模式下,gitver 会在调用 PyInstaller 前自动将计算出的版本号写入版本信息,无需手动维护 `version_info.txt`。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -493,6 +502,8 @@ VSVersionInfo(
|
|||||||
| 42 | `pyinstaller=` 无法根据分支名计算 bid |
|
| 42 | `pyinstaller=` 无法根据分支名计算 bid |
|
||||||
| 43 | `pyinstaller=` 读取 tag 失败 |
|
| 43 | `pyinstaller=` 读取 tag 失败 |
|
||||||
| 44 | `pyinstaller=` 获取当天分支提交次数失败 |
|
| 44 | `pyinstaller=` 获取当天分支提交次数失败 |
|
||||||
|
| 45 | `pyinstaller=` 版本信息文件无法生成或更新 |
|
||||||
|
| 46 | `pyinstaller=` spec 文件无法注入或修改版本信息 |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user