112 lines
2.8 KiB
Bash
112 lines
2.8 KiB
Bash
#!/bin/bash
|
||
|
||
# ============================================
|
||
# 初中物理作业批改工作流 - 快速部署脚本
|
||
# ============================================
|
||
|
||
set -e
|
||
|
||
echo "======================================"
|
||
echo " 初中物理作业批改工作流 - 部署向导"
|
||
echo "======================================"
|
||
echo ""
|
||
|
||
# 检测操作系统
|
||
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
||
OS="Linux"
|
||
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
||
OS="macOS"
|
||
elif [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "cygwin" ]]; then
|
||
OS="Windows"
|
||
else
|
||
OS="Unknown"
|
||
fi
|
||
|
||
echo "检测到操作系统: $OS"
|
||
echo ""
|
||
|
||
# 步骤1: 检查Python版本
|
||
echo "步骤 1/5: 检查 Python 版本..."
|
||
if command -v python3 &> /dev/null; then
|
||
PYTHON_VERSION=$(python3 --version 2>&1 | awk '{print $2}')
|
||
PYTHON_MAJOR=$(echo $PYTHON_VERSION | cut -d. -f1)
|
||
PYTHON_MINOR=$(echo $PYTHON_VERSION | cut -d. -f2)
|
||
|
||
if [ "$PYTHON_MAJOR" -ge 3 ] && [ "$PYTHON_MINOR" -ge 10 ]; then
|
||
echo "✅ Python 版本: $PYTHON_VERSION"
|
||
else
|
||
echo "❌ Python 版本过低: $PYTHON_VERSION (需要 3.10+)"
|
||
exit 1
|
||
fi
|
||
else
|
||
echo "❌ 未找到 Python 3"
|
||
exit 1
|
||
fi
|
||
echo ""
|
||
|
||
# 步骤2: 创建虚拟环境
|
||
echo "步骤 2/5: 创建虚拟环境..."
|
||
if [ ! -d "venv" ]; then
|
||
python3 -m venv venv
|
||
echo "✅ 虚拟环境已创建"
|
||
else
|
||
echo "✅ 虚拟环境已存在"
|
||
fi
|
||
echo ""
|
||
|
||
# 步骤3: 激活虚拟环境
|
||
echo "步骤 3/5: 激活虚拟环境..."
|
||
if [ "$OS" == "Windows" ]; then
|
||
source venv/Scripts/activate
|
||
else
|
||
source venv/bin/activate
|
||
fi
|
||
echo "✅ 虚拟环境已激活"
|
||
echo ""
|
||
|
||
# 步骤4: 安装依赖
|
||
echo "步骤 4/5: 安装依赖包..."
|
||
if [ -f "requirements.txt" ]; then
|
||
pip install --upgrade pip
|
||
pip install -r requirements.txt
|
||
echo "✅ 依赖安装完成"
|
||
else
|
||
echo "❌ 未找到 requirements.txt"
|
||
exit 1
|
||
fi
|
||
echo ""
|
||
|
||
# 步骤5: 配置环境变量
|
||
echo "步骤 5/5: 配置环境变量..."
|
||
if [ ! -f ".env" ]; then
|
||
if [ -f ".env.example" ]; then
|
||
cp .env.example .env
|
||
echo "✅ 已创建 .env 文件"
|
||
echo ""
|
||
echo "⚠️ 请编辑 .env 文件,填写以下必需配置:"
|
||
echo " - LLM_API_KEY"
|
||
echo " - LLM_BASE_URL"
|
||
echo " - LLM_MODEL_NAME"
|
||
echo ""
|
||
echo "注意:不需要配置对象存储(图片直接使用原始URL)"
|
||
echo ""
|
||
echo "编辑完成后,运行以下命令启动服务:"
|
||
echo " source .env"
|
||
echo " bash scripts/http_run.sh -p 8000"
|
||
else
|
||
echo "❌ 未找到 .env.example"
|
||
exit 1
|
||
fi
|
||
else
|
||
echo "✅ .env 文件已存在"
|
||
echo ""
|
||
echo "启动服务:"
|
||
echo " source .env"
|
||
echo " bash scripts/http_run.sh -p 8000"
|
||
fi
|
||
echo ""
|
||
|
||
echo "======================================"
|
||
echo " ✅ 部署完成!"
|
||
echo "======================================"
|