Phase 0 评审二次修复:init.sh 增加 .exe fallback + 文档统一 MSYS2 环境声明

This commit is contained in:
ila
2026-07-06 19:13:08 +08:00
parent ded4fefef2
commit 9390c4039f
7 changed files with 172 additions and 22 deletions
+15 -7
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# 标准启动与验证入口(Unix shell 版),与 init.ps1 等价,二选一:
# - WSL / Git Bash / macOS / Linux:用本文件 ./init.sh
# 标准启动与验证入口(bash shell 版),与 init.ps1 等价,二选一:
# - MSYS2 / Git Bash / WSL / Linux:用本文件 ./init.sh
# - Windows 原生 PowerShell:用 ./init.ps1
# 一条命令完成:依赖安装 -> 基础验证 -> 打印启动命令。
@@ -13,17 +13,25 @@ cd "$ROOT_DIR"
PYTHON=".venv/bin/python3.12"
PIP=".venv/bin/pip3.12"
# MSYS2/MinGW venv 中可执行文件带 .exe 后缀
# 优先使用无后缀名(Linux/WSL 原生 venv),不存在则加 .exe
if [[ ! -f "$PYTHON" ]] && [[ -f "${PYTHON}.exe" ]]; then
PYTHON="${PYTHON}.exe"
PIP="${PIP}.exe"
fi
if [[ ! -f "$PYTHON" ]]; then
echo "ERROR: venv 不存在或已损坏"
echo "请先运行: python3.12 -m venv .venv && .venv/bin/python3.12 -m pip install -r requirements.txt"
exit 1
fi
INSTALL_CMD=("$PIP" install -r requirements.txt)
VERIFY_CMD=("$PYTHON" manage.py check)
START_CMD=("$PYTHON" manage.py runserver)
echo "==> 当前目录: $PWD"
if [[ ! -f "$PYTHON" && ! -f "$PYTHON.exe" ]]; then
echo "ERROR: venv 不存在或损坏,请先运行: python3.12 -m venv .venv"
exit 1
fi
echo "==> 同步依赖"
"${INSTALL_CMD[@]}"