Phase 0 评审二次修复:init.sh 增加 .exe fallback + 文档统一 MSYS2 环境声明
This commit is contained in:
@@ -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[@]}"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user