build: 添加 Windows 打包方案
- 更新 PyInstaller spec 配置 - 简化 build.sh 构建脚本 - 更新 build.bat Windows 打包脚本 - 添加 docs/BUILD.md 打包说明文档 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
104
build.bat
104
build.bat
@@ -1,99 +1,49 @@
|
||||
@echo off
|
||||
REM ================================
|
||||
REM CutThenThink Windows Build Script - Cloud Only Version
|
||||
REM ================================
|
||||
REM 纯云端版本 - 无需本地 ML 库
|
||||
REM CutThenThink 极简版本 Windows 打包脚本
|
||||
|
||||
REM 设置控制台编码为 UTF-8
|
||||
chcp 65001 >nul 2>&1
|
||||
|
||||
cd /d "%~dp0"
|
||||
|
||||
echo ========================================
|
||||
echo CutThenThink 纯云端版本构建
|
||||
echo ========================================
|
||||
echo ===================================
|
||||
echo CutThenThink v2.0 极简版构建
|
||||
echo ===================================
|
||||
echo.
|
||||
echo 特点:
|
||||
echo - OCR 使用云端 API
|
||||
echo - AI 使用 API (OpenAI/Anthropic)
|
||||
echo - 无需任何本地 ML 库
|
||||
echo ========================================
|
||||
echo - 核心依赖:PyQt6, requests, Pillow
|
||||
echo - 可选 OCR:RapidOCR 插件
|
||||
echo - 无重型依赖:torch, transformers, paddleocr
|
||||
echo ===================================
|
||||
echo.
|
||||
|
||||
REM Check Python
|
||||
echo [1/5] 检查 Python...
|
||||
python --version 2>nul
|
||||
if errorlevel 1 (
|
||||
echo 错误: 未找到 Python
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [2/5] 检查源码大小...
|
||||
set SIZE=0
|
||||
for /r %%A in (src\*) do (
|
||||
set /a SIZE+=%%~zA
|
||||
)
|
||||
if %SIZE% GTR 5242880 (
|
||||
echo 警告: src 目录大小超过 5MB,构建的 exe 可能会很大
|
||||
echo 当前大小: %SIZE% 字节
|
||||
echo.
|
||||
)
|
||||
|
||||
echo.
|
||||
echo [3/5] 安装核心依赖...
|
||||
python -m pip install --user pyinstaller 2>nul
|
||||
python -m pip install --user "PyQt6>=6.7.0" 2>nul
|
||||
python -m pip install --user "SQLAlchemy>=2.0.36" 2>nul
|
||||
python -m pip install --user openai anthropic 2>nul
|
||||
python -m pip install --user requests pyyaml pillow pyperclip 2>nul
|
||||
|
||||
echo.
|
||||
echo [4/5] 清理旧的构建...
|
||||
REM [1/3] 清理旧的构建
|
||||
echo [1/3] 清理旧的构建...
|
||||
if exist build rmdir /s /q build
|
||||
if exist dist rmdir /s /q dist
|
||||
|
||||
REM [2/3] 安装构建依赖
|
||||
echo.
|
||||
echo [5/5] 开始构建...
|
||||
python -m PyInstaller ^
|
||||
--noconfirm ^
|
||||
--name "CutThenThink" ^
|
||||
--windowed ^
|
||||
--onefile ^
|
||||
--add-data "src:src" ^
|
||||
--hidden-import=PyQt6.QtCore ^
|
||||
--hidden-import=PyQt6.QtGui ^
|
||||
--hidden-import=PyQt6.QtWidgets ^
|
||||
--hidden-import=sqlalchemy ^
|
||||
--hidden-import=sqlalchemy.orm ^
|
||||
--hidden-import=PIL ^
|
||||
--hidden-import=PIL.Image ^
|
||||
--hidden-import=pyperclip ^
|
||||
--hidden-import=yaml ^
|
||||
--hidden-import=requests ^
|
||||
--hidden-import=openai ^
|
||||
--hidden-import=anthropic ^
|
||||
--collect-all pyqt6 ^
|
||||
src/main.py
|
||||
echo [2/3] 安装构建依赖...
|
||||
pip install pyinstaller 2>NUL || echo PyInstaller 已安装
|
||||
|
||||
REM [3/3] 构建可执行文件
|
||||
echo.
|
||||
echo [3/3] 构建可执行文件...
|
||||
python -m PyInstaller CutThenThink.spec --clean
|
||||
|
||||
if errorlevel 1 (
|
||||
echo.
|
||||
echo ================================
|
||||
echo 构建失败!
|
||||
echo ================================
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo.
|
||||
echo ================================
|
||||
echo 构建成功!
|
||||
echo ================================
|
||||
echo 可执行文件: dist\CutThenThink.exe
|
||||
echo ===================================
|
||||
echo 构建完成!
|
||||
echo ===================================
|
||||
echo.
|
||||
echo 首次运行请配置:
|
||||
echo - AI API Key (OpenAI/Anthropic)
|
||||
echo - 云端 OCR API
|
||||
echo 输出位置:
|
||||
echo - dist\CutThenThink\ # 可执行文件目录
|
||||
echo.
|
||||
echo 首次运行前请配置:
|
||||
echo 1. 可选安装 OCR:pip install -r requirements-ocr.txt
|
||||
echo 2. 配置文件:%%USERPROFILE%%\.cutthenthink\config.yaml
|
||||
echo.
|
||||
pause
|
||||
|
||||
Reference in New Issue
Block a user