param( [string]$VenvDir = ".venv" ) $ErrorActionPreference = "Stop" Write-Host "Creating virtual environment in '$VenvDir'..." python -m venv $VenvDir $pythonExe = Join-Path $VenvDir "Scripts\python.exe" if (-not (Test-Path $pythonExe)) { throw "Python executable not found in virtual environment: $pythonExe" } Write-Host "Upgrading pip..." & $pythonExe -m pip install --upgrade pip Write-Host "Installing required packages..." & $pythonExe -m pip install pytest Write-Host "" Write-Host "Done." Write-Host "Activate venv: .\$VenvDir\Scripts\Activate.ps1" Write-Host "Run tests: pytest -q"