#!/usr/bin/env pwsh # Silver Pose 的 Windows 统一启动与验证入口。 # V1 的 requirements.txt 是显式安装清单;本脚本只检查已安装依赖,避免修改当前环境。 $ErrorActionPreference = "Stop" Set-Location -Path $PSScriptRoot $InstallCmd = 'python -c "import cv2, numpy, ultralytics, PyQt5; print(''required Python packages available'')"' $VerifyCmd = "python -m compileall -q demo" $V1TestCmd = "python -m pytest v1/tests -v" $StartCmd = "python -m v1.app" function Invoke-Checked { param([string]$Label, [string]$Command) Write-Host "==> $Label" Invoke-Expression $Command if ($LASTEXITCODE -ne 0) { throw "$Label failed with exit code $LASTEXITCODE" } } Write-Host "==> 当前目录: $($PWD.Path)" Invoke-Checked -Label "检查 Silver Pose Python 依赖" -Command $InstallCmd if (Test-Path -LiteralPath "demo") { Invoke-Checked -Label "运行 demo 基线验证" -Command $VerifyCmd } else { Write-Host "==> 发布包未包含 demo/,跳过旧基线编译" } Invoke-Checked -Label "运行 V1 单元测试" -Command $V1TestCmd Write-Host "==> 图形界面启动命令" Write-Host " $StartCmd" if ($env:RUN_START_COMMAND -eq "1") { Write-Host "==> 启动应用" Invoke-Expression $StartCmd } else { Write-Host "设置 RUN_START_COMMAND=1 后,init.ps1 会启动 GUI。" }