Spaces:
Sleeping
Sleeping
| # ้ข่ฒๅฎไน | 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!" | |