실행 스크립트 정리 - 100-hours-a-week/5-yeosa-wiki GitHub Wiki

1. VM 띄울 때 초기 스크립트

# vim, git 설치
sudo apt update
sudo apt install -y vim git

# 파이썬 빌드 환경 설정
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
  libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
  libffi-dev liblzma-dev git

# pyenv 설치  
curl https://pyenv.run | bash

# 쉘 설정
echo -e '\n# pyenv setup' >> ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec "$SHELL"

2. 로컬 스크립트

  • 현 위치에 .env와 gcp 키가 있는 상태

    # 레포 클론
    git clone https://github.com/100-hours-a-week/5-yeosa-ongi-ai.git
    
    # 설정 파일 및 키 이동
    cp ./.env ./5-yeosa-ongi-ai/.env
    cp ./gcp_key.json ./5-yeosa-ongi-ai/app/config/
    
    # 프로젝트로 이동
    cd 5-yeosa-ongi-ai
    
    # 파이썬 3.10.6
    if ! pyenv versions --bare | grep -q "^3.10.6$"; then
      pyenv install 3.10.6
    else
      echo "Python 3.10.6 is already installed"
    fi
    
    pyenv local 3.10.6
    
    # 가상환경 생성 및 활성화
    python -m venv .venv
    source .venv/bin/activate
    
    # 의존성 설치
    pip install --upgrade pip
    pip install -r requirements.txt
        
    source .venv/bin/activate
    uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
    
  • gpu 서버 스크립트에서 필요

    # 모델 가중치 설치
    pip install --no-cache-dir git+https://github.com/openai/CLIP.git
    curl -L https://github.com/foamliu/InsightFace-v3/releases/download/v1.0/insight-face-v3.pt \
         -o app/model/insight-face-v3.pt
    
  • turbojpeg를 사용할 경우

    # 인스턴스(debian, ubuntu)
    sudo apt update
    sudo apt install -y libturbojpeg
    
    # macOS
    brew install jpeg-turbo