# car_push **Repository Path**: ser163/car_push ## Basic Information - **Project Name**: car_push - **Description**: Inno Setup Compiler 打包和发版助手. - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-20 - **Last Updated**: 2026-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 可视化发版工具 基于 Python 3.11 和 tkinter 开发的自动化版本发布与打包工具。 ## 功能特性 1. **版本号管理**:自动读取上次打包的版本号,修改 Inno Setup 安装脚本(`.iss`)中的版本号和输出文件名。 2. **一键编译**:自动调用 Inno Setup 的命令行编译器(ISCC)生成安装程序。 3. **日志记录**: - 自动生成对应版本的更新说明文件(如 `版本_1.0.3.txt`)。 - 自动将发版记录追加到 `发版日志.xlsx`。 4. **配置记忆**:支持记忆最后一次打包的版本号以及 `ISCC.exe` 的路径(保存在 `.config.yaml`)。 5. **灵活打包**: - 支持自定义选择需要打包的 `.iss` 脚本。 - 支持“仅打包”模式,不生成发布日志,仅执行打包流程。 ## 运行环境 - **操作系统**:Windows - **Python 版本**:Python 3.11+ - **第三方库**:`openpyxl`(用于读写 Excel 发版日志文件) - **依赖软件**:[Inno Setup](https://jrsoftware.org/isinfo.php)(推荐 Inno Setup 5 或 6) ## 安装与运行 1. **安装 Python**: 如果尚未安装,请前往 [Python 官网](https://www.python.org/downloads/) 下载并安装 Python 3.11 或更高版本。安装时请务必勾选 **"Add Python to PATH"**。 2. **安装依赖库**: 打开命令提示符(CMD)或 PowerShell,运行以下命令安装 `openpyxl`: ```bash pip install openpyxl ``` > 注:程序启动后,如果检测到未安装 `openpyxl`,也可以直接在界面中点击“安装 openpyxl”按钮进行自动安装。 3. ** 安装打包器 ** ```shell pip install pyinstaller ``` 3. **安装 Inno Setup**: 请确保电脑上安装了 Inno Setup,程序会自动尝试寻找 `ISCC.exe` 的常见安装路径。如果未找到,你可以在程序界面中手动浏览指定。 4. **启动程序**: 在项目根目录(如 `d:\test\car\`)下,双击运行 `发版工具.py`,或在命令行中执行: ```bash python 发版工具.py ``` 5. **启动程序**: 最简单的方式(单文件模式) ```shell pyinstaller --onefile main.py ``` 推荐:隐藏控制台窗口 + 单文件 + 指定图标 ```shell pyinstaller --onefile --windowed --icon=ico.ico main.py ``` ## 使用说明 1. **填写版本信息**: - **版本号**:输入本次发布的版本号,如 `1.0.3`。 - **发版日期**:默认当天,可按 `YYYY.MM.DD` 格式修改。 - **更新内容**:分行输入本次版本的更新说明。 2. **选择安装脚本**:默认使用 `docs/setup.iss`,也可点击“浏览”选择其他 `.iss` 文件。 3. **配置 ISCC 路径**:如果路径为空,请点击“浏览”选择你电脑上的 `ISCC.exe` 文件。 4. **开始打包**: - 点击“开始打包”按钮。 - 程序将自动修改脚本、编译并生成日志文件。 - 打包成功后,会弹出提示框。 5. **仅打包模式**:勾选“仅打包”后,将忽略日期和更新内容,仅执行编译生成 `.exe`,不会写入日志。