Files
2024-11-13 17:16:01 -07:00

40 lines
1.4 KiB
PowerShell

################################################################################
## File: Install-Pipx.ps1
## Desc: Install pipx and pipx packages
################################################################################
Write-Host "Installing pipx..."
$env:PIPX_BIN_DIR = "${env:ProgramFiles(x86)}\pipx_bin"
$env:PIPX_HOME = "${env:ProgramFiles(x86)}\pipx"
pip install pipx
if ($LASTEXITCODE -ne 0) {
throw "pipx installation failed with exit code $LASTEXITCODE"
}
Add-MachinePathItem "${env:PIPX_BIN_DIR}"
[Environment]::SetEnvironmentVariable("PIPX_BIN_DIR", $env:PIPX_BIN_DIR, "Machine")
[Environment]::SetEnvironmentVariable("PIPX_HOME", $env:PIPX_HOME, "Machine")
Invoke-PesterTests -TestFile "Tools" -TestName "Pipx"
Write-Host "Installing pipx packages..."
$pipxToolset = (Get-ToolsetContent).pipx
foreach ($tool in $pipxToolset) {
if ($tool.python) {
$pythonPath = (Get-Item -Path "${env:AGENT_TOOLSDIRECTORY}\Python\${tool.python}.*\x64\python-${tool.python}*").FullName
Write-Host "Install ${tool.package} into python ${tool.python}"
pipx install $tool.package --python $pythonPath
} else {
Write-Host "Install ${tool.package} into default python"
pipx install $tool.package
}
if ($LASTEXITCODE -ne 0) {
throw "Package ${tool.package} installation failed with exit code $LASTEXITCODE"
}
}
Invoke-PesterTests -TestFile "PipxPackages"