更改: 1. 开头添加 chcp 65001 设置控制台编码为 UTF-8 2. 添加源码大小检查(步骤 2/5) - 如果 src 大于 5MB 则警告 - 防止构建过大的 exe Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
100 lines
2.3 KiB
Batchfile
100 lines
2.3 KiB
Batchfile
@echo off
|
||
REM ================================
|
||
REM CutThenThink Windows Build Script - Cloud Only Version
|
||
REM ================================
|
||
REM 纯云端版本 - 无需本地 ML 库
|
||
|
||
REM 设置控制台编码为 UTF-8
|
||
chcp 65001 >nul 2>&1
|
||
|
||
cd /d "%~dp0"
|
||
|
||
echo ========================================
|
||
echo CutThenThink 纯云端版本构建
|
||
echo ========================================
|
||
echo.
|
||
echo 特点:
|
||
echo - OCR 使用云端 API
|
||
echo - AI 使用 API (OpenAI/Anthropic)
|
||
echo - 无需任何本地 ML 库
|
||
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] 清理旧的构建...
|
||
if exist build rmdir /s /q build
|
||
if exist dist rmdir /s /q dist
|
||
|
||
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
|
||
|
||
if errorlevel 1 (
|
||
echo.
|
||
echo ================================
|
||
echo 构建失败!
|
||
echo ================================
|
||
pause
|
||
exit /b 1
|
||
)
|
||
|
||
echo.
|
||
echo ================================
|
||
echo 构建成功!
|
||
echo ================================
|
||
echo 可执行文件: dist\CutThenThink.exe
|
||
echo.
|
||
echo 首次运行请配置:
|
||
echo - AI API Key (OpenAI/Anthropic)
|
||
echo - 云端 OCR API
|
||
echo.
|
||
pause
|