start.sh 2 KB
Newer Older
wangkaixiong's avatar
init  
wangkaixiong committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/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