You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
803 B
Bash

#!/usr/bin/env bash
set -euo pipefail
VENV_DIR="${1:-.venv}"
if ! command -v python3 >/dev/null 2>&1; then
echo "[setup] python3 not found. Installing..."
sudo apt-get update
sudo apt-get install -y python3 python3-venv python3-pip
fi
if ! dpkg -s python3-venv >/dev/null 2>&1; then
echo "[setup] Installing python3-venv..."
sudo apt-get update
sudo apt-get install -y python3-venv python3-pip
fi
echo "[setup] Creating virtual environment: ${VENV_DIR}"
python3 -m venv "${VENV_DIR}"
PYTHON_BIN="${VENV_DIR}/bin/python"
echo "[setup] Upgrading pip"
"${PYTHON_BIN}" -m pip install --upgrade pip
echo "[setup] Installing required Python packages"
"${PYTHON_BIN}" -m pip install pytest
echo "[setup] Done"
echo "Activate: source ${VENV_DIR}/bin/activate"
echo "Run tests: pytest -q"