@echo off REM ================================ REM CutThenThink Windows Build Script REM ================================ REM Change to project directory cd /d "%~dp0" REM Check Python installation python --version 2>nul if errorlevel 1 ( echo Error: Python not found echo Please install Python 3.8+ from python.org pause exit /b 1 ) REM Check PyInstaller python -m PyInstaller --version 2>nul if errorlevel 1 ( echo. echo PyInstaller not found, installing now... python -m pip install --user pyinstaller ) echo. ) if errorlevel 1 ( echo. echo Trying PyInstaller from pip... python -m pip install --user pyinstaller 2>nul ) if errorlevel 1 ( echo. echo PyInstaller still not available. Please install manually: echo pip install pyinstaller pause exit /b 1 ) REM Check PyQt6 availability python -c "import PyQt6.QtCore" 2>nul if errorlevel 1 ( echo. echo Warning: PyQt6 not installed echo. ) echo. echo 1/5. Installing dependencies... python -m pip install --user --upgrade pip 2>nul python -m pip install --user pyqt6 2>nul python -m pip install --user pyqt6-webengine 2>nul python -m pip install --user sqlalchemy 2>nul python -m pip install --user pyyaml 2>nul python -m pip install --user requests 2>nul python -m pip install --user pillow 2>nul python -m pip install --user pyperclip 2>nul echo. echo 2/5. Creating lightweight package (without PaddleOCR)... python -m pip install --user pyinstaller 2>nul findstr /V "paddleocr" /V "paddlepaddle" requirements.txt > nul if errorlevel 1 ( echo Error creating requirements_lite.txt pause exit /b 1 ) echo. echo 3/5. Building lightweight version... 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 src/main.py if errorlevel 1 ( echo Build Failed! echo. pause exit /b 1 ) echo. echo ================================ echo Build Complete! echo Executable: dist\CutThenThink.exe echo File size (without PaddleOCR): ~30-50 MB echo ================================ echo. echo On first run, app will auto-download and install PaddleOCR. echo. pause