heroweb/myenv.sh
2024-09-14 06:59:42 +03:00

38 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
SCRIPT_PATH="${BASH_SOURCE[0]:-$0}"
export BASE_DIR="$(cd "$(dirname "$SCRIPT_PATH")" && pwd)"
export VENV_DIR="${BASE_DIR}/.venv"
python3 -m venv "$VENV_DIR"
source $VENV_DIR/bin/activate
# Check if the directory exists
if [ ! -d "$VENV_DIR" ]; then
echo "Directory $VENV_DIR does not exist. Creating it and setting up a virtual environment."
# The -p flag makes mkdir create any necessary parent directories as well
mkdir -p "$VENV_DIR"
# Create the virtual environment
python3 -m venv "$VENV_DIR"
python3 -m pip install --upgrade pip
fi
export CONTEXTROOT='~/context'
SECRET_FILE="/${HOME}/code/git.ourworld.tf/despiegk/hero_secrets/mysecrets.sh"
if [ -f "$SECRET_FILE" ]; then
echo 'get secrets'
source "$SECRET_FILE"
fi
PYTHON_VERSION=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
WEBLIB_PATH="${VENV_DIR}/lib/python${PYTHON_VERSION}/site-packages/weblib.pth"
HEROLIB_PATH="${VENV_DIR}/lib/python${PYTHON_VERSION}/site-packages/herolib.pth"
if [ ! -f "$WEBLIB_PATH" ] || [ ! -f "$HEROLIB_PATH" ]; then
echo "One or both of the required .pth files are missing. Running install.sh."
source "${BASE_DIR}/install.sh"
fi
echo "We're good to go"