fix(codex): drop Python 3.11 requirement, auto-install python3
- tomllib fallback: try tomllib (3.11+) -> tomli -> minimal parser - Works with Python 3.8+ (Ubuntu 20.04, Debian 11, etc.) - Auto-install python3 if not found (like Gemini/Qwen scripts) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -37,21 +37,34 @@ echo -e "${NC}"
|
||||
|
||||
# ---- Check prerequisites ----
|
||||
|
||||
for cmd in python3 curl tar; do
|
||||
install_pkg() {
|
||||
if command -v apt-get >/dev/null 2>&1; then
|
||||
apt-get update -qq && apt-get install -y -qq "$@"
|
||||
elif command -v dnf >/dev/null 2>&1; then
|
||||
dnf install -y -q "$@"
|
||||
elif command -v yum >/dev/null 2>&1; then
|
||||
yum install -y -q "$@"
|
||||
elif command -v brew >/dev/null 2>&1; then
|
||||
brew install "$@"
|
||||
else
|
||||
err "No package manager found. Install $* manually."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
if ! command -v python3 &>/dev/null; then
|
||||
info "python3 not found, installing..."
|
||||
install_pkg python3
|
||||
fi
|
||||
|
||||
for cmd in curl tar; do
|
||||
if ! command -v "$cmd" &>/dev/null; then
|
||||
err "$cmd is required but not found"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
PY_VER=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
|
||||
PY_MAJOR=$(echo "$PY_VER" | cut -d. -f1)
|
||||
PY_MINOR=$(echo "$PY_VER" | cut -d. -f2)
|
||||
if [ "$PY_MAJOR" -lt 3 ] || ([ "$PY_MAJOR" -eq 3 ] && [ "$PY_MINOR" -lt 11 ]); then
|
||||
err "Python 3.11+ required (found $PY_VER)"
|
||||
exit 1
|
||||
fi
|
||||
log "Python3 $PY_VER"
|
||||
log "Python3 $(python3 --version | awk '{print $2}')"
|
||||
|
||||
# ---- Step 1: Install Codex binary from GitHub ----
|
||||
|
||||
|
||||
Reference in New Issue
Block a user