File size: 7,388 Bytes
06ba7ea | 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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 | #!/bin/bash
# ้ข่ฒๅฎไน | Color Definitions
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# ๆๅฐๅธฆ้ข่ฒ็ๆถๆฏ | Print colored messages
print_success() {
echo -e "${GREEN}[โ]${NC} $1"
}
print_error() {
echo -e "${RED}[โ]${NC} $1"
}
print_warning() {
echo -e "${YELLOW}[!]${NC} $1"
}
print_info() {
echo -e "${BLUE}[i]${NC} $1"
}
# ๆๅฐๆ ้ข | Print Title
echo ""
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
echo "โ Storyline ้กน็ฎไพ่ตๅฎ่ฃ
่ๆฌ | Dependency Installation โ"
echo "โ ไฝฟ็จ conda activate storyline ๆฟๆดป็ฏๅขๅ่ฟ่ก โ"
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
echo ""
# ==========================================
# ๆญฅ้ชค 0: ๆฃๆตๆไฝ็ณป็ป
# Step 0: Detect OS
# ==========================================
print_info "ๆฃๆตๆไฝ็ณป็ป... | Detecting OS..."
if [[ "$OSTYPE" == "darwin"* ]]; then
IS_MACOS=true
IS_LINUX=false
print_success "ๆฃๆตๅฐ MacOS ็ณป็ป | MacOS detected"
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
IS_MACOS=false
IS_LINUX=true
print_success "ๆฃๆตๅฐ Linux ็ณป็ป | Linux detected"
else
print_error "ไธๆฏๆ็ๆไฝ็ณป็ป | Unsupported operating system: $OSTYPE"
exit 1
fi
echo ""
# ==========================================
# ๆญฅ้ชค 1: ๆฃๆฅ conda ็ฏๅข
# Step 1: Check conda environment
# ==========================================
echo "[1/4] ๆฃๆฅ conda ็ฏๅข... | Checking conda environment..."
if [ -z "$CONDA_DEFAULT_ENV" ]; then
print_error "ๆชๆฃๆตๅฐ conda ็ฏๅข | No conda environment detected"
echo ""
echo "่ฏทๅ
่ฟ่ก: conda activate storyline"
echo "Please run: conda activate storyline"
exit 1
fi
if [ "$CONDA_DEFAULT_ENV" != "storyline" ]; then
print_warning "ๅฝๅ็ฏๅข: $CONDA_DEFAULT_ENV"
echo ""
read -p "ๅปบ่ฎฎไฝฟ็จ storyline ็ฏๅข๏ผๆฏๅฆ็ปง็ปญ? | Continue anyway? (y/n) " -n 1 -r
echo ""
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "่ฏท่ฟ่ก: conda activate storyline"
exit 1
fi
else
print_success "ๅฝๅ็ฏๅข: storyline"
fi
# ๆพ็คบ Python ไฟกๆฏ
print_info "Python ไฟกๆฏ | Python Info:"
echo " ็ๆฌ | Version: $(python --version 2>&1)"
echo " ่ทฏๅพ | Path: $(which python)"
echo ""
# ==========================================
# ๆญฅ้ชค 2: ๆฃๆฅ FFmpeg
# Step 2: Check FFmpeg
# ==========================================
echo "[2/4] ๆฃๆฅ FFmpeg... | Checking FFmpeg..."
if ! command -v ffmpeg &> /dev/null; then
print_warning "ๆชๆฃๆตๅฐ FFmpeg | FFmpeg not detected"
echo ""
read -p "ๆฏๅฆๅฎ่ฃ
FFmpeg? | Install FFmpeg? (y/n) " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Yy]$ ]]; then
print_info "ๆญฃๅจๅฎ่ฃ
FFmpeg... | Installing FFmpeg..."
if [ "$IS_MACOS" = true ]; then
if ! command -v brew &> /dev/null; then
print_error "้่ฆ Homebrew ๆฅๅฎ่ฃ
FFmpeg | Homebrew required to install FFmpeg"
echo "่ฏท่ฎฟ้ฎ: https://brew.sh"
exit 1
fi
brew install ffmpeg
elif [ "$IS_LINUX" = true ]; then
if command -v apt-get &> /dev/null; then
sudo apt-get update
sudo apt-get install -y ffmpeg
elif command -v yum &> /dev/null; then
sudo yum install -y epel-release
sudo yum install -y ffmpeg ffmpeg-devel
else
print_error "ๆ ๆณ่ฏๅซ็ๅ
็ฎก็ๅจ | Unrecognized package manager"
exit 1
fi
fi
if [ $? -eq 0 ]; then
print_success "FFmpeg ๅฎ่ฃ
ๆๅ | FFmpeg installed successfully"
else
print_error "FFmpeg ๅฎ่ฃ
ๅคฑ่ดฅ | FFmpeg installation failed"
exit 1
fi
else
print_warning "่ทณ่ฟ FFmpeg ๅฎ่ฃ
๏ผๅฏ่ฝๅฝฑๅ้ณ่ง้ขๅค็ๅ่ฝ๏ผ"
print_warning "Skipping FFmpeg (may affect audio/video features)"
fi
else
print_success "FFmpeg ๅทฒๅฎ่ฃ
| FFmpeg installed"
echo " ็ๆฌ | Version: $(ffmpeg -version 2>&1 | head -n 1)"
fi
echo ""
# ==========================================
# ๆญฅ้ชค 3: ไธ่ฝฝ้กน็ฎ่ตๆบ
# Step 3: Download project resources
# ==========================================
echo "[3/4] ไธ่ฝฝ้กน็ฎ่ตๆบ... | Downloading project resources..."
if [ -f "download.sh" ]; then
print_info "ๆง่ก่ตๆบไธ่ฝฝ่ๆฌ... | Running download script..."
chmod +x download.sh
./download.sh
if [ $? -eq 0 ]; then
print_success "่ตๆบไธ่ฝฝๅฎๆ | Resources downloaded successfully"
else
print_error "่ตๆบไธ่ฝฝๅคฑ่ดฅ | Resource download failed"
exit 1
fi
else
print_warning "ๆชๆพๅฐ download.sh | download.sh not found"
echo "ๅฆ้ไธ่ฝฝๆจกๅ็ญ่ตๆบ๏ผ่ฏทๆๅจๆง่ก download.sh"
echo "To download models, please run download.sh manually"
fi
echo ""
# ==========================================
# ๆญฅ้ชค 4: ๅฎ่ฃ
Python ไพ่ต
# Step 4: Install Python dependencies
# ==========================================
echo "[4/4] ๅฎ่ฃ
Python ไพ่ต... | Installing Python dependencies..."
if [ ! -f "requirements.txt" ]; then
print_error "ๆชๆพๅฐ requirements.txt | requirements.txt not found"
exit 1
fi
print_info "ๆญฃๅจๅฎ่ฃ
ไพ่ตๅ
๏ผ่ฏท็จๅ... | Installing packages, please wait..."
echo ""
# ๅฎ่ฃ
ไพ่ต
print_info "ๅฎ่ฃ
ไพ่ตๅ
... | Installing dependencies..."
# ๅฐ่ฏไฝฟ็จๆธ
ๅ้ๅๆบ
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
if [ $? -ne 0 ]; then
print_warning "ๆธ
ๅ้ๅๅฎ่ฃ
ๅคฑ่ดฅ๏ผๅฐ่ฏไฝฟ็จ้ป่ฎคๆบ... | Tsinghua mirror failed, trying default..."
pip install -r requirements.txt
if [ $? -ne 0 ]; then
print_error "ไพ่ตๅฎ่ฃ
ๅคฑ่ดฅ | Dependency installation failed"
echo ""
echo "่ฏทๅฐ่ฏๆๅจๅฎ่ฃ
: pip install -r requirements.txt"
exit 1
fi
fi
print_success "ไพ่ตๅฎ่ฃ
ๅฎๆ | Dependencies installed successfully"
echo ""
# ==========================================
# ๅฎ่ฃ
ๅฎๆ | Installation Complete
# ==========================================
echo ""
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
echo "โ ๅฎ่ฃ
ๆๅ๏ผ| Installation Successful! โ"
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
echo ""
print_info "็ฏๅขไฟกๆฏ | Environment Info:"
echo " Conda ็ฏๅข | Conda Env: $CONDA_DEFAULT_ENV"
echo " Python: $(python --version 2>&1)"
command -v ffmpeg &> /dev/null && echo " FFmpeg: $(ffmpeg -version 2>&1 | head -n 1 | cut -d' ' -f3)"
echo ""
print_success "็ฐๅจๅฏไปฅ่ฟ่ก้กน็ฎไบ๏ผ| You can now run the project!"
|