Files
python313/.devcontainer/post_create.sh

47 lines
1.6 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
set -euo pipefail
WORKSPACE_DIR="${WORKSPACE_DIR:-/workspace}"
VENV_PATH="${VENV_PATH:-$WORKSPACE_DIR/.venv}"
REQUIREMENTS_FILE="${REQUIREMENTS_FILE:-$WORKSPACE_DIR/requirements.txt}"
# Resolve current user's home robustly (works for root and non-root users).
USER_HOME="${HOME:-}"
if [ -z "$USER_HOME" ] && command -v getent >/dev/null 2>&1; then
USER_HOME="$(getent passwd "$(id -un)" | cut -d: -f6)"
fi
if [ -z "$USER_HOME" ]; then
USER_HOME="/root"
fi
BASHRC_PATH="${BASHRC_PATH:-$USER_HOME/.bashrc}"
# Ak venv neexistuje, vytvor ho a priprav pip
if [ ! -d "$VENV_PATH" ]; then
echo "Virtuálne prostredie neexistuje vytváram..."
python -m venv "$VENV_PATH"
else
echo "Používam existujúce virtuálne prostredie..."
fi
echo "Aktivujem virtuálne prostredie..."
# shellcheck disable=SC1090
source "$VENV_PATH/bin/activate"
echo "Aktualizujem pip a základné nástroje..."
python -m pip install --upgrade pip setuptools wheel
# Inštalácia závislostí, ak existuje requirements.txt
if [ -f "$REQUIREMENTS_FILE" ]; then
echo "Inštalujem závislosti z requirements.txt..."
python -m pip install -r "$REQUIREMENTS_FILE"
else
echo "requirements.txt nenájdený preskakujem inštaláciu závislostí."
fi
# Ak sa terminál otvorí skôr, než Python extension stihne auto-aktiváciu,
# zabezpečíme aktiváciu aj cez shell init.
ACTIVATE_LINE="[ -f \"$VENV_PATH/bin/activate\" ] && source \"$VENV_PATH/bin/activate\""
touch "$BASHRC_PATH"
if ! grep -Fq "$ACTIVATE_LINE" "$BASHRC_PATH"; then
echo "$ACTIVATE_LINE" >> "$BASHRC_PATH"
fi