#!/usr/bin/env pwsh # 标准启动与验证入口(Windows PowerShell 版),与 init.sh 等价,二选一: # - Windows 原生 PowerShell:用本文件 ./init.ps1 # - MSYS2 / Git Bash / WSL / Linux:用 ./init.sh # 一条命令完成:依赖安装 -> 基础验证 -> 打印启动命令。 $ErrorActionPreference = "Stop" Set-Location -Path $PSScriptRoot $PythonPath = ".venv/bin/python3.12" $PipPath = ".venv/bin/pip3.12" # MSYS2/MinGW venv 中可执行文件带 .exe 后缀 if (-not (Test-Path $PythonPath) -and (Test-Path "$PythonPath.exe")) { $PythonPath = "$PythonPath.exe" $PipPath = "$PipPath.exe" } if (-not (Test-Path $PythonPath)) { Write-Error "venv 不存在或已损坏。请先运行: python3.12 -m venv .venv" exit 1 } $InstallCmd = "$PipPath install -r requirements.txt" $VerifyCmd = "$PythonPath manage.py check" $StartCmd = "$PythonPath manage.py runserver" Write-Host "==> 当前目录: $($PWD.Path)" Write-Host "==> 同步依赖" Invoke-Expression $InstallCmd Write-Host "==> 运行基础验证" Invoke-Expression $VerifyCmd Write-Host "==> 启动命令" Write-Host " $StartCmd" if ($env:RUN_START_COMMAND -eq "1") { Write-Host "==> 启动应用" Invoke-Expression $StartCmd } else { Write-Host "如果希望 init.ps1 直接启动应用,请设置环境变量 RUN_START_COMMAND=1。" Write-Host "如果基础验证失败,先修复基线状态,不要在坏的起点上继续叠新功能。" }