Functions/Get-InstalledPythonVersions.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function Get-InstalledPythonVersions(){
$Null = @(
    $installationRoot = Get-PythonInstallRoot
    $versionRegex = ".*(?<version>\d+.\d+.\d+)"
    $installedVersions = @()

    if (Test-path -Path $installationRoot){
        foreach ($pathObj in Get-ChildItem "$installationRoot\python*"){
            $output = Invoke-Expression "& `"$($pathObj.Fullname)\python.exe`" --version"
            $output -match $versionRegex
            $installedVersions += $Matches.version
        }
    }
)
    return ,$installedVersions
}