feat: update run.sh for python3.13

This commit is contained in:
zhayujie
2026-06-09 15:24:32 +08:00
parent 7c9ea62993
commit ef46199346
2 changed files with 9 additions and 4 deletions

4
run.sh
View File

@@ -359,7 +359,7 @@ detect_python_command() {
FOUND_NEWER_VERSION="" FOUND_NEWER_VERSION=""
# Try to find Python command in order of preference # Try to find Python command in order of preference
for cmd in python3 python python3.13 python3.12 python3.11 python3.10 python3.9 python3.8 python3.7; do for cmd in python3 python python3.12 python3.11 python3.10 python3.9 python3.8 python3.7 python3.13; do
if command -v $cmd &> /dev/null; then if command -v $cmd &> /dev/null; then
# Check Python version # Check Python version
major_version=$($cmd -c 'import sys; print(sys.version_info[0])' 2>/dev/null) major_version=$($cmd -c 'import sys; print(sys.version_info[0])' 2>/dev/null)
@@ -378,7 +378,7 @@ detect_python_command() {
done done
if [ -z "$PYTHON_CMD" ]; then if [ -z "$PYTHON_CMD" ]; then
echo -e "${YELLOW}Tried: python3, python, python3.13, python3.12, python3.11, python3.10, python3.9, python3.8, python3.7${NC}" echo -e "${YELLOW}Tried: python3, python, python3.12, python3.11, python3.10, python3.9, python3.8, python3.7, python3.13${NC}"
echo -e "${RED}❌ No suitable Python found. Please install Python 3.7 or newer${NC}" echo -e "${RED}❌ No suitable Python found. Please install Python 3.7 or newer${NC}"
exit 1 exit 1
fi fi

View File

@@ -194,6 +194,8 @@ function Select-Language {
# ── Python detection ───────────────────────────────────────────── # ── Python detection ─────────────────────────────────────────────
function Find-Python { function Find-Python {
# 3.13 compatibility is not great, so prefer 3.7-3.12 and only fall back to 3.13.
$fallback = $null
foreach ($cmd in @("python3", "python")) { foreach ($cmd in @("python3", "python")) {
$bin = Get-Command $cmd -ErrorAction SilentlyContinue $bin = Get-Command $cmd -ErrorAction SilentlyContinue
if (-not $bin) { continue } if (-not $bin) { continue }
@@ -201,12 +203,15 @@ function Find-Python {
$ver = & $bin.Source -c "import sys; v=sys.version_info; print(f'{v.major}.{v.minor}')" 2>$null $ver = & $bin.Source -c "import sys; v=sys.version_info; print(f'{v.major}.{v.minor}')" 2>$null
$parts = $ver -split '\.' $parts = $ver -split '\.'
$major = [int]$parts[0]; $minor = [int]$parts[1] $major = [int]$parts[0]; $minor = [int]$parts[1]
if ($major -eq 3 -and $minor -ge 7 -and $minor -le 13) { if ($major -eq 3 -and $minor -ge 7 -and $minor -le 12) {
return $bin.Source return $bin.Source
} }
if ($major -eq 3 -and $minor -eq 13 -and -not $fallback) {
$fallback = $bin.Source
}
} catch {} } catch {}
} }
return $null return $fallback
} }
$PythonCmd = Find-Python $PythonCmd = Find-Python