mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-17 02:05:22 -04:00
fix(macos): rebuild incomplete venv instead of failing on re-run (#3106)
start-macos.sh guarded venv creation with `[ ! -d venv ]`, which trusts any existing venv/ directory even when a prior run was interrupted before pip was bootstrapped into it. Re-runs then failed with "No module named pip" and never self-healed, contradicting the script's "safe to re-run" promise. Validate that the venv has a working pip before reusing it, and rebuild it otherwise. Fixes #3105
This commit is contained in:
committed by
GitHub
parent
f7a5047228
commit
b5a7d5ccda
+3
-2
@@ -130,11 +130,12 @@ fi
|
|||||||
# 3. Python environment + dependencies (kept inside the repo, in venv/).
|
# 3. Python environment + dependencies (kept inside the repo, in venv/).
|
||||||
# Named `venv` to match the manual steps and build-macos-app.sh, so the
|
# Named `venv` to match the manual steps and build-macos-app.sh, so the
|
||||||
# clickable .app reuses this same environment.
|
# clickable .app reuses this same environment.
|
||||||
if [ ! -d venv ]; then
|
VENV_PY="./venv/bin/python3"
|
||||||
|
if [ ! -x "$VENV_PY" ] || ! "$VENV_PY" -m pip --version >/dev/null 2>&1; then
|
||||||
|
[ -d venv ] && { echo "▶ Existing venv is incomplete (no working pip) — rebuilding…"; rm -rf venv; }
|
||||||
echo "▶ Creating Python environment…"
|
echo "▶ Creating Python environment…"
|
||||||
"$PY" -m venv venv
|
"$PY" -m venv venv
|
||||||
fi
|
fi
|
||||||
VENV_PY="./venv/bin/python3"
|
|
||||||
REQ_HASH="$(md5 -q requirements.txt 2>/dev/null || md5sum requirements.txt | cut -d' ' -f1)"
|
REQ_HASH="$(md5 -q requirements.txt 2>/dev/null || md5sum requirements.txt | cut -d' ' -f1)"
|
||||||
REQ_HASH_FILE="venv/.requirements_hash"
|
REQ_HASH_FILE="venv/.requirements_hash"
|
||||||
if [ ! -f "$REQ_HASH_FILE" ] || [ "$REQ_HASH" != "$(cat "$REQ_HASH_FILE" 2>/dev/null)" ]; then
|
if [ ! -f "$REQ_HASH_FILE" ] || [ "$REQ_HASH" != "$(cat "$REQ_HASH_FILE" 2>/dev/null)" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user