BodyBalanceEvaluation/install.bat
2025-07-28 11:59:56 +08:00

205 lines
5.4 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@echo off
chcp 65001 >nul
echo ====================================
echo 身体平衡评估系统 - 安装脚本
echo ====================================
echo.
echo 此脚本将帮助您安装所有必要的依赖和配置环境
echo.
:: 检查管理员权限(可选)
net session >nul 2>&1
if %errorlevel% == 0 (
echo [信息] 检测到管理员权限
) else (
echo [警告] 未检测到管理员权限,某些操作可能失败
)
echo.
:: 检查Python
echo [步骤 1/6] 检查Python环境...
python --version >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] 未找到Python
echo [提示] 请从 https://www.python.org/downloads/ 下载并安装Python 3.8或更高版本
echo [提示] 安装时请勾选 "Add Python to PATH"
pause
exit /b 1
) else (
for /f "tokens=*" %%i in ('python --version') do echo [成功] 找到 %%i
)
:: 检查Python版本
for /f "tokens=2 delims= " %%i in ('python --version') do set python_version=%%i
for /f "tokens=1,2 delims=." %%a in ("%python_version%") do (
set major=%%a
set minor=%%b
)
if %major% lss 3 (
echo [错误] Python版本过低需要3.8或更高版本
pause
exit /b 1
)
if %major% equ 3 if %minor% lss 8 (
echo [错误] Python版本过低需要3.8或更高版本
pause
exit /b 1
)
echo.
:: 检查Node.js
echo [步骤 2/6] 检查Node.js环境...
node --version >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] 未找到Node.js
echo [提示] 请从 https://nodejs.org/ 下载并安装Node.js 16.0或更高版本
pause
exit /b 1
) else (
for /f "tokens=*" %%i in ('node --version') do echo [成功] 找到Node.js %%i
for /f "tokens=*" %%i in ('npm --version') do echo [成功] 找到npm %%i
)
echo.
:: 创建虚拟环境
echo [步骤 3/6] 创建Python虚拟环境...
if exist "backend\venv" (
echo [信息] 虚拟环境已存在,跳过创建
else (
echo [信息] 正在创建虚拟环境...
python -m venv backend\venv
if %errorlevel% neq 0 (
echo [错误] 创建虚拟环境失败
pause
exit /b 1
)
echo [成功] 虚拟环境创建完成
)
:: 激活虚拟环境
echo [信息] 激活虚拟环境...
call backend\venv\Scripts\activate.bat
if %errorlevel% neq 0 (
echo [错误] 激活虚拟环境失败
pause
exit /b 1
)
echo [成功] 虚拟环境已激活
echo.
:: 升级pip
echo [步骤 4/6] 升级pip...
python -m pip install --upgrade pip
if %errorlevel% neq 0 (
echo [警告] pip升级失败继续安装
) else (
echo [成功] pip升级完成
)
echo.
:: 安装Python依赖
echo [步骤 5/6] 安装Python依赖...
if not exist "backend\requirements.txt" (
echo [错误] 未找到backend\requirements.txt文件
pause
exit /b 1
)
echo [信息] 正在安装Python包这可能需要几分钟...
pip install -r backend\requirements.txt
if %errorlevel% neq 0 (
echo [错误] 安装Python依赖失败
echo [提示] 请检查网络连接和requirements.txt文件
pause
exit /b 1
)
echo [成功] Python依赖安装完成
echo.
:: 安装前端依赖
echo [步骤 6/6] 安装前端依赖...
if exist "frontend\src\renderer\package.json" (
cd frontend\src\renderer
echo [信息] 正在安装前端包,这可能需要几分钟...
npm install
if %errorlevel% neq 0 (
echo [错误] 安装前端依赖失败
echo [提示] 请检查网络连接和package.json文件
cd ..\..\..
pause
exit /b 1
)
echo [成功] 前端依赖安装完成
cd ..\..\..
) else (
echo [警告] 未找到前端package.json文件跳过前端依赖安装
)
echo.
:: 创建目录结构
echo [信息] 创建目录结构...
if not exist "data" mkdir data
if not exist "data\patients" mkdir data\patients
if not exist "data\sessions" mkdir data\sessions
if not exist "data\exports" mkdir data\exports
if not exist "data\backups" mkdir data\backups
if not exist "logs" mkdir logs
if not exist "temp" mkdir temp
echo [成功] 目录结构创建完成
echo.
:: 检查配置文件
echo [信息] 检查配置文件...
if exist "config.json" (
echo [成功] 配置文件已存在
) else (
echo [信息] 配置文件已创建,使用默认配置
)
echo.
:: 运行测试(可选)
echo [信息] 运行基础测试...
echo [测试] 检查Python导入...
python -c "import sys; print('Python路径:', sys.executable)" 2>nul
if %errorlevel% neq 0 (
echo [警告] Python测试失败
) else (
echo [成功] Python测试通过
)
echo [测试] 检查主要依赖...
python -c "import flask, numpy, opencv-python, mediapipe; print('主要依赖检查通过')" 2>nul
if %errorlevel% neq 0 (
echo [警告] 依赖测试失败,某些功能可能不可用
) else (
echo [成功] 依赖测试通过
)
echo.
:: 安装完成
echo ====================================
echo 安装完成!
echo ====================================
echo.
echo [成功] 所有依赖已安装完成
echo [信息] 您现在可以使用以下命令启动应用:
echo.
echo 开发环境: start_dev.bat
echo 生产环境: start_prod.bat
echo 或直接运行: python main.py
echo.
echo [提示] 首次运行建议使用开发环境进行测试
echo [提示] 如遇到问题,请查看 README.md 文件
echo.
set /p choice="是否现在启动开发环境?(y/n): "
if /i "%choice%"=="y" (
echo.
echo [信息] 启动开发环境...
call start_dev.bat
) else (
echo.
echo [信息] 安装完成,您可以稍后手动启动应用
)
pause