Blame view

activate.sh 1.68 KB
13320ac6   tangwang   分面接口修改:
1
  #!/bin/bash
484adbfe   tangwang   adapt ubuntu; con...
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
  #
  # Unified environment activator (venv preferred, conda fallback).
  #
  # Usage:
  #   source activate.sh
  #
  # Priority:
  #   1) ./.venv (Python venv)
  #   2) conda env "searchengine" (legacy)
  #
  
  # Must be sourced
  if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
    echo "ERROR: Please source this script: source activate.sh" >&2
    exit 1
  fi
  
  PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  
  # 1) venv (preferred)
  VENV_ACTIVATE="${PROJECT_ROOT}/.venv/bin/activate"
  if [[ -f "${VENV_ACTIVATE}" ]]; then
    # shellcheck disable=SC1090
    source "${VENV_ACTIVATE}"
    ENV_KIND="venv"
  else
    # 2) conda fallback (legacy)
    # 新机器部署:可设置 CONDA_ROOT 指向本机 Conda 路径
    # 例如你的 conda 是 ~/anaconda3/bin/conda,则 export CONDA_ROOT=$HOME/anaconda3
    CONDA_ROOT="${CONDA_ROOT:-/home/tw/miniconda3}"
    if [[ -f "${CONDA_ROOT}/etc/profile.d/conda.sh" ]]; then
      # shellcheck disable=SC1091
      source "${CONDA_ROOT}/etc/profile.d/conda.sh"
      conda activate searchengine
      ENV_KIND="conda"
    else
      echo "ERROR: No .venv found and conda.sh not found at ${CONDA_ROOT}/etc/profile.d/conda.sh" >&2
      echo "  - Create venv: ./scripts/create_venv.sh" >&2
      echo "  - Or set CONDA_ROOT to your conda install path" >&2
      return 1
    fi
  fi
13320ac6   tangwang   分面接口修改:
44
45
  
  # 如果需要加载 .env 中的环境变量
484adbfe   tangwang   adapt ubuntu; con...
46
47
  ENV_FILE="${PROJECT_ROOT}/.env"
  if [ -f "${ENV_FILE}" ]; then
13320ac6   tangwang   分面接口修改:
48
      set -a  # 自动导出所有变量
484adbfe   tangwang   adapt ubuntu; con...
49
50
      # NOTE: This loader tolerates comments/blank lines and strips inline comments.
      source <(grep -v '^#' "${ENV_FILE}" | grep -v '^$' | sed 's/#.*$//' | sed 's/\r$//')
13320ac6   tangwang   分面接口修改:
51
52
53
      set +a  # 关闭自动导出
  fi
  
484adbfe   tangwang   adapt ubuntu; con...
54
  echo "Environment activated (${ENV_KIND}): ${VIRTUAL_ENV:-${CONDA_DEFAULT_ENV:-unknown}}"