#!/bin/bash # # Usage: # source activate.sh # # Required: # 1) ./.venv (Python venv) # # 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 (required) VENV_ACTIVATE="${PROJECT_ROOT}/.venv/bin/activate" if [[ -f "${VENV_ACTIVATE}" ]]; then # shellcheck disable=SC1090 source "${VENV_ACTIVATE}" ENV_KIND="venv" else echo "ERROR: No .venv found at ${VENV_ACTIVATE}" >&2 echo " - Create venv: ./scripts/create_venv.sh" >&2 return 1 fi # 2) Load .env (optional) # shellcheck source=scripts/lib/load_env.sh source "${PROJECT_ROOT}/scripts/lib/load_env.sh" load_env_file "${PROJECT_ROOT}/.env" echo "Environment activated (${ENV_KIND}): ${VIRTUAL_ENV:-${CONDA_DEFAULT_ENV:-unknown}}"