180 lines
4.0 KiB
Batchfile
180 lines
4.0 KiB
Batchfile
@echo off
|
||
chcp 65001 >nul
|
||
echo ====================================
|
||
echo 药店销售预测系统 - Windows 快速启动
|
||
echo ====================================
|
||
echo.
|
||
|
||
:: 检查Python
|
||
echo [1/6] 检查Python环境...
|
||
python --version >nul 2>&1
|
||
if errorlevel 1 (
|
||
echo ❌ 未找到Python,请先安装Python 3.8+
|
||
pause
|
||
exit /b 1
|
||
)
|
||
echo ✓ Python环境正常
|
||
|
||
:: 检查虚拟环境
|
||
echo.
|
||
echo [2/6] 检查虚拟环境...
|
||
if not exist ".venv\Scripts\python.exe" (
|
||
echo 🔄 创建虚拟环境...
|
||
python -m venv .venv
|
||
if errorlevel 1 (
|
||
echo ❌ 虚拟环境创建失败
|
||
pause
|
||
exit /b 1
|
||
)
|
||
)
|
||
echo ✓ 虚拟环境准备完成
|
||
|
||
:: 激活虚拟环境
|
||
echo.
|
||
echo [3/6] 激活虚拟环境...
|
||
call .venv\Scripts\activate.bat
|
||
if errorlevel 1 (
|
||
echo ❌ 虚拟环境激活失败
|
||
pause
|
||
exit /b 1
|
||
)
|
||
echo ✓ 虚拟环境已激活
|
||
|
||
:: 安装依赖
|
||
echo.
|
||
echo [4/6] 检查Python依赖...
|
||
pip show flask >nul 2>&1
|
||
if errorlevel 1 (
|
||
echo 🔄 安装Python依赖...
|
||
pip install -r install\requirements.txt
|
||
if errorlevel 1 (
|
||
echo ❌ 依赖安装失败
|
||
pause
|
||
exit /b 1
|
||
)
|
||
)
|
||
echo ✓ Python依赖已安装
|
||
|
||
:: 检查数据文件
|
||
echo.
|
||
echo [5/6] 检查数据文件...
|
||
if not exist "pharmacy_sales_multi_store.csv" (
|
||
echo 🔄 生成示例数据...
|
||
python generate_multi_store_data.py
|
||
if errorlevel 1 (
|
||
echo ❌ 数据生成失败
|
||
pause
|
||
exit /b 1
|
||
)
|
||
)
|
||
echo ✓ 数据文件准备完成
|
||
|
||
:: 初始化数据库
|
||
echo.
|
||
echo [6/6] 初始化数据库...
|
||
if not exist "prediction_history.db" (
|
||
echo 🔄 初始化数据库...
|
||
python server\init_multi_store_db.py
|
||
if errorlevel 1 (
|
||
echo ❌ 数据库初始化失败
|
||
pause
|
||
exit /b 1
|
||
)
|
||
)
|
||
echo ✓ 数据库准备完成
|
||
|
||
echo.
|
||
echo ====================================
|
||
echo ✅ 环境准备完成!
|
||
echo ====================================
|
||
echo.
|
||
echo 接下来请选择启动方式:
|
||
echo [1] 启动API服务器 (后端)
|
||
echo [2] 启动前端开发服务器
|
||
echo [3] 运行API测试
|
||
echo [4] 查看项目状态
|
||
echo [0] 退出
|
||
echo.
|
||
|
||
:menu
|
||
set /p choice="请选择 (0-4): "
|
||
|
||
if "%choice%"=="1" goto start_api
|
||
if "%choice%"=="2" goto start_frontend
|
||
if "%choice%"=="3" goto run_tests
|
||
if "%choice%"=="4" goto show_status
|
||
if "%choice%"=="0" goto end
|
||
echo 无效选择,请重新输入
|
||
goto menu
|
||
|
||
:start_api
|
||
echo.
|
||
echo 🚀 启动API服务器...
|
||
echo 服务器将在 http://localhost:5000 启动
|
||
echo API文档访问: http://localhost:5000/swagger
|
||
echo.
|
||
echo 按 Ctrl+C 停止服务器
|
||
echo.
|
||
cd server
|
||
python api.py
|
||
goto end
|
||
|
||
:start_frontend
|
||
echo.
|
||
echo 🚀 启动前端开发服务器...
|
||
cd UI
|
||
if not exist "node_modules" (
|
||
echo 🔄 安装前端依赖...
|
||
npm install
|
||
if errorlevel 1 (
|
||
echo ❌ 前端依赖安装失败
|
||
pause
|
||
goto menu
|
||
)
|
||
)
|
||
echo 前端将在 http://localhost:5173 启动
|
||
echo.
|
||
npm run dev
|
||
goto end
|
||
|
||
:run_tests
|
||
echo.
|
||
echo 🧪 运行API测试...
|
||
python test_api_endpoints.py
|
||
echo.
|
||
pause
|
||
goto menu
|
||
|
||
:show_status
|
||
echo.
|
||
echo 📊 项目状态检查...
|
||
echo.
|
||
echo === 文件检查 ===
|
||
if exist "pharmacy_sales_multi_store.csv" (echo ✓ 多店铺数据文件) else (echo ❌ 多店铺数据文件缺失)
|
||
if exist "prediction_history.db" (echo ✓ 预测历史数据库) else (echo ❌ 预测历史数据库缺失)
|
||
if exist "server\api.py" (echo ✓ API服务器文件) else (echo ❌ API服务器文件缺失)
|
||
if exist "UI\package.json" (echo ✓ 前端项目文件) else (echo ❌ 前端项目文件缺失)
|
||
|
||
echo.
|
||
echo === 模型文件 ===
|
||
if exist "saved_models" (
|
||
echo 已保存的模型:
|
||
dir saved_models\*.pth /b 2>nul || echo 暂无已训练的模型
|
||
) else (
|
||
echo ❌ 模型目录不存在
|
||
)
|
||
|
||
echo.
|
||
echo === 虚拟环境状态 ===
|
||
python -c "import sys; print('Python版本:', sys.version)"
|
||
python -c "import flask; print('Flask版本:', flask.__version__)" 2>nul || echo ❌ Flask未安装
|
||
|
||
echo.
|
||
pause
|
||
goto menu
|
||
|
||
:end
|
||
echo.
|
||
echo 感谢使用药店销售预测系统!
|
||
echo.
|
||
pause |