From 25a432fcf3a7af778c0b7215ba342b29e9d3a8e5 Mon Sep 17 00:00:00 2001 From: "Aaron D. Lee" Date: Sun, 4 Jan 2026 16:28:17 -0500 Subject: [PATCH] Use Python 3.12 for venv rebuild MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Check for pyenv Python 3.12 first, then system python3.12, then fall back to python3 with warning. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- rpi/sanitize-for-image.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/rpi/sanitize-for-image.sh b/rpi/sanitize-for-image.sh index e3418ce..c272034 100755 --- a/rpi/sanitize-for-image.sh +++ b/rpi/sanitize-for-image.sh @@ -268,7 +268,22 @@ if [ -n "$STEGASOO_DIR" ] && [ -d "$STEGASOO_DIR/venv" ]; then if ! "$VENV_PYTHON" -c "import stegasoo" 2>/dev/null; then echo " Venv broken or stegasoo not installed, rebuilding..." rm -rf "$STEGASOO_DIR/venv" - sudo -u "$STEGASOO_USER" python3 -m venv "$STEGASOO_DIR/venv" + + # Find Python 3.12 (prefer pyenv, fall back to system) + USER_HOME=$(eval echo "~$STEGASOO_USER") + PYENV_PYTHON="$USER_HOME/.pyenv/versions/3.12*/bin/python" + if compgen -G "$PYENV_PYTHON" > /dev/null 2>&1; then + PYTHON_BIN=$(ls $PYENV_PYTHON 2>/dev/null | head -1) + echo " Using pyenv Python: $PYTHON_BIN" + elif command -v python3.12 &>/dev/null; then + PYTHON_BIN="python3.12" + echo " Using system Python 3.12" + else + PYTHON_BIN="python3" + echo " Warning: Python 3.12 not found, using $($PYTHON_BIN --version)" + fi + + sudo -u "$STEGASOO_USER" "$PYTHON_BIN" -m venv "$STEGASOO_DIR/venv" sudo -u "$STEGASOO_USER" "$STEGASOO_DIR/venv/bin/pip" install --quiet -e "$STEGASOO_DIR[web]" echo " Venv rebuilt and stegasoo installed" else