Python version information/RunPythonInstallers.ps1

From ihaveahax's Site
Jump to navigationJump to search

I made this so I could install multiple versions of Python at once, mainly in virtual machines. It expects each one to be in the same directory as the script. For 3.13 it also installs the free-threaded build.

$UsedPath = Get-ChildItem -Path . -Name "UsedInstallers"
if (!$UsedPath) {
    $UsedPath = New-Item -ItemType Directory -Name "UsedInstallers"
}
Write-Host $UsedPath
Get-ChildItem -Filter 'python-*.exe' | ForEach {
    #$Command = ".\$_ /passive InstallAllUsers=1 CompileAll=1 Include_doc=0 Include_debug=1 Include_symbols=1"
    #$Command = ".\$_ /?"
    #Write-Host $Command
    #Invoke-Expression "$Command"
    Start-Process -FilePath $_ -ArgumentList @('/passive', 'InstallAllUsers=1', 'CompileAll=1', 'Include_doc=0', 'Include_debug=1', 'Include_symbols=1', 'Include_freethreaded=1') -Wait
    Move-Item -Path $_ -Destination $UsedPath
}