#!/bin/bash # 模型管理工具启动脚本 echo "=========================================" echo "Linux模型管理工具启动脚本" echo "=========================================" # 检查Python版本 echo "检查Python版本..." if ! command -v python3 &> /dev/null; then echo "错误: 未找到Python3,请先安装Python3" exit 1 fi PYTHON_VERSION=$(python3 --version 2>&1 | awk '{print $2}') echo "已安装Python版本: $PYTHON_VERSION" # 创建虚拟环境(如果不存在) if [ ! -d "venv" ]; then echo "创建Python虚拟环境..." python3 -m venv venv if [ $? -ne 0 ]; then echo "错误: 创建虚拟环境失败" exit 1 fi fi # 激活虚拟环境 echo "激活虚拟环境..." if [ $? -ne 0 ]; then echo "错误: 激活虚拟环境失败" exit 1 fi # 升级pip echo "升级pip..." pip3 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple if [ $? -ne 0 ]; then echo "警告: 升级pip失败" fi # 安装依赖 echo "安装依赖包..." pip install flask flask-cors flask-socketio eventlet requests modelscope -i https://pypi.tuna.tsinghua.edu.cn/simple if [ $? -ne 0 ]; then echo "警告: 安装依赖包失败,某些功能可能受限" fi # 创建必要的目录 echo "创建必要的目录..." # mkdir -p ~/models mkdir -p backend/static mkdir -p backend/templates # 检查端口是否被占用 PORT=2026 if lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null 2>&1; then echo "警告: 端口 $PORT 已被占用,请先关闭占用该端口的进程" echo "您可以使用以下命令关闭占用端口的进程:" echo "sudo lsof -t -i:$PORT | xargs kill -9" read -p "是否继续启动?(y/N): " -n 1 -r echo if [[ ! $REPLY =~ ^[Yy]$ ]]; then exit 1 fi fi # 启动应用 echo "=========================================" echo "启动模型管理工具..." echo "访问地址: http://localhost:$PORT" echo "=========================================" # 切换到backend目录 cd backend # 启动Flask应用 python3 app.py