123 lines
2.9 KiB
Batchfile
123 lines
2.9 KiB
Batchfile
@echo off
|
|
chcp 65001
|
|
setlocal EnableDelayedExpansion
|
|
echo 开始测试打包...
|
|
|
|
:: 设置工作目录为脚本所在目录
|
|
cd /d "%~dp0"
|
|
|
|
:: 激活虚拟环境
|
|
if exist "venv\Scripts\activate.bat" (
|
|
echo 激活虚拟环境...
|
|
call venv\Scripts\activate.bat
|
|
) else (
|
|
echo 警告: 未找到虚拟环境,使用系统 Python
|
|
)
|
|
|
|
:: 确保安装了必要的包
|
|
echo 检查依赖包...
|
|
pip install -r requirements.txt
|
|
|
|
:: 读取版本号
|
|
set /p VERSION=<version.txt
|
|
echo 当前版本: !VERSION!
|
|
|
|
:: 提取主版本号和次版本号 (3.4.7 -> 3.4)
|
|
for /f "tokens=1,2 delims=." %%a in ("!VERSION!") do (
|
|
set MAJOR_VERSION=%%a.%%b
|
|
)
|
|
echo 主版本目录: !MAJOR_VERSION!
|
|
|
|
:: 读取测试版本号(如果存在)
|
|
if exist testversion.txt (
|
|
set /p TEST_VERSION=<testversion.txt
|
|
) else (
|
|
set TEST_VERSION=0
|
|
)
|
|
|
|
:: 增加测试版本号
|
|
set /a TEST_VERSION+=1
|
|
echo !TEST_VERSION!>testversion.txt
|
|
echo 测试版本号: !TEST_VERSION!
|
|
|
|
:: 组合完整版本号
|
|
set FULL_VERSION=!VERSION!.!TEST_VERSION!
|
|
echo 完整版本号: !FULL_VERSION!
|
|
|
|
:: 创建测试版本目录
|
|
set TEST_DIR=dist\test\!MAJOR_VERSION!
|
|
if not exist "!TEST_DIR!" (
|
|
mkdir "!TEST_DIR!"
|
|
echo 创建目录: !TEST_DIR!
|
|
)
|
|
|
|
:: 清理 Python 缓存文件
|
|
echo 清理Python缓存文件...
|
|
for /d /r . %%d in (__pycache__) do @if exist "%%d" rd /s /q "%%d"
|
|
del /s /q *.pyc >nul 2>&1
|
|
del /s /q *.pyo >nul 2>&1
|
|
|
|
:: 清理旧的打包文件
|
|
echo 清理旧文件...
|
|
if exist "build" rd /s /q "build"
|
|
if exist "*.spec" del /f /q "*.spec"
|
|
|
|
:: 使用优化选项进行打包
|
|
echo 开始打包...
|
|
pyinstaller ^
|
|
--noconfirm ^
|
|
--clean ^
|
|
--onefile ^
|
|
--noconsole ^
|
|
--icon=icon/two.ico ^
|
|
--name "听泉cursor助手_test" ^
|
|
--add-data "icon;icon" ^
|
|
--add-data "version.txt;." ^
|
|
--add-data "testversion.txt;." ^
|
|
--add-data "requirements.txt;." ^
|
|
--exclude-module _tkinter ^
|
|
--exclude-module tkinter ^
|
|
--exclude-module PIL.ImageTk ^
|
|
--exclude-module PIL.ImageWin ^
|
|
--exclude-module numpy ^
|
|
--exclude-module pandas ^
|
|
--exclude-module matplotlib ^
|
|
--exclude "__pycache__" ^
|
|
--exclude "*.pyc" ^
|
|
--exclude "*.pyo" ^
|
|
--exclude "*.pyd" ^
|
|
main.py
|
|
|
|
:: 检查打包结果并移动文件
|
|
set TEMP_FILE=dist\听泉cursor助手_test.exe
|
|
set TARGET_FILE=!TEST_DIR!\听泉cursor助手v!FULL_VERSION!.exe
|
|
|
|
echo 检查文件: !TEMP_FILE!
|
|
if exist "!TEMP_FILE!" (
|
|
echo 测试打包成功!
|
|
|
|
:: 移动到版本目录
|
|
echo 移动文件到: !TARGET_FILE!
|
|
move "!TEMP_FILE!" "!TARGET_FILE!"
|
|
|
|
:: 显示文件大小
|
|
for %%I in ("!TARGET_FILE!") do (
|
|
echo 文件大小: %%~zI 字节
|
|
)
|
|
|
|
echo.
|
|
echo 测试版本构建完成!
|
|
echo 版本号: v!FULL_VERSION!
|
|
echo 文件位置: !TARGET_FILE!
|
|
) else (
|
|
echo 错误: 打包失败,文件不存在
|
|
)
|
|
|
|
:: 退出虚拟环境
|
|
if exist "venv\Scripts\activate.bat" (
|
|
echo 退出虚拟环境...
|
|
deactivate
|
|
)
|
|
|
|
endlocal
|
|
pause |