@echo off chcp 65001 >nul title 订单日报系统 - 生产模式 cd /d "%~dp0" REM 设置 Python 使用 UTF-8 编码,避免中文环境下读取文件乱码 set PYTHONUTF8=1 set PIP_DEFAULT_ENCODING=utf-8 echo ======================================== echo 订单日报系统 - 生产模式启动 echo ======================================== echo. REM ============================================ REM 第一步:读取 .env 配置文件(如果存在) REM ============================================ echo [1/5] 读取配置... if exist ".env" ( echo [信息] 找到 .env 文件,正在加载配置... for /f "usebackq tokens=1,2 delims==" %%a in (".env") do ( if not "%%a"=="" if not "%%~a"=="#" ( set "%%a=%%b" ) ) echo [信息] 配置加载完成 ) else if exist ".env.prod" ( echo [信息] 找到 .env.prod 文件,正在加载配置... for /f "usebackq tokens=1,2 delims==" %%a in (".env.prod") do ( if not "%%a"=="" if not "%%~a"=="#" ( set "%%a=%%b" ) ) echo [信息] 配置加载完成 ) else ( echo [信息] 未找到 .env 文件,使用默认配置 ) REM ============================================ REM 第二步:检查 Python 是否安装 REM ============================================ echo. echo [2/5] 检查 Python 环境... where python >nul 2>&1 if errorlevel 1 ( echo [错误] 未检测到 Python! echo. echo 请先安装 Python 3.10 或更高版本: echo 下载地址: https://www.python.org/downloads/ echo 安装时请勾选 "Add Python to PATH" echo. pause exit /b 1 ) for /f "delims=" %%v in ('python --version 2^>^&1') do set PY_VERSION=%%v echo [信息] Python 已安装: %PY_VERSION% REM ============================================ REM 第三步:创建虚拟环境(如果不存在) REM ============================================ echo. echo [3/5] 检查虚拟环境... if not exist ".venv\Scripts\python.exe" ( echo [信息] 虚拟环境不存在,正在创建... python -m venv .venv if errorlevel 1 ( echo [错误] 虚拟环境创建失败! pause exit /b 1 ) echo [信息] 虚拟环境创建成功 ) else ( echo [信息] 虚拟环境已存在 ) set PYTHON=.venv\Scripts\python.exe set PIP=.venv\Scripts\pip.exe REM ============================================ REM 第四步:安装依赖(只在缺少时安装) REM ============================================ echo. echo [4/5] 检查依赖... REM 检查核心依赖是否已安装 %PYTHON% -c "import flask" 2>nul if errorlevel 1 ( set NEED_INSTALL=1 ) else ( set NEED_INSTALL=0 ) if "%NEED_INSTALL%"=="1" ( echo [信息] 正在安装依赖,请稍候... %PIP% install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple if errorlevel 1 ( echo [警告] 清华源安装失败,尝试官方源... %PIP% install -r requirements.txt if errorlevel 1 ( echo [错误] 依赖安装失败! pause exit /b 1 ) ) echo [信息] 依赖安装完成 ) else ( echo [信息] 依赖已就绪 ) REM ============================================ REM 第五步:启动服务 REM ============================================ echo. echo [5/5] 启动服务... echo. echo [信息] 服务启动后,访问 http://localhost:5002 echo [信息] 按 Ctrl+C 停止服务 echo. echo ======================================== echo. %PYTHON% run_prod.py if errorlevel 1 ( echo. echo ======================================== echo [错误] 服务异常退出,错误代码: %errorlevel% echo ======================================== echo. pause )