scripts/Windows/install_miniconda.ps1
. "$PSScriptRoot\common.ps1" # http://repo.continuum.io/miniconda/ function UninstallMiniconda($condaName) { $regPath = $null $uninstallString = $null if(Test-Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\$condaName") { $uninstallString = $((Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\$condaName").QuietUninstallString) $regPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\$condaName" } elseif (Test-Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\$condaName") { $uninstallString = $((Get-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\$condaName").QuietUninstallString) $regPath = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\$condaName" } elseif (Test-Path "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\$condaName") { $uninstallString = $((Get-ItemProperty "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\$condaName").QuietUninstallString) $regPath = "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\$condaName" } if($uninstallString) { Write-Host "Uninstalling $condaName" $uninstallString | out-file "$env:temp\uninstall.cmd" -Encoding ASCII & "$env:temp\uninstall.cmd" Remove-Item "$env:temp\uninstall.cmd" Remove-Item $regPath } else { Write-Host "$condaName is not installed" } } UninstallMiniconda "Python 2.7.15 (Miniconda2 4.5.11 32-bit)" UninstallMiniconda "Python 2.7.15 (Miniconda2 4.5.11 64-bit)" UninstallMiniconda "Miniconda2 4.7.12 (Python 2.7.16 32-bit)" UninstallMiniconda "Miniconda2 4.7.12 (Python 2.7.16 64-bit)" UninstallMiniconda "Python 3.4.3 (Miniconda3 3.16.0 32-bit)" UninstallMiniconda "Python 3.4.3 (Miniconda3 3.16.0 64-bit)" UninstallMiniconda "Python 3.5.2 (Miniconda3 4.2.12 32-bit)" UninstallMiniconda "Python 3.5.2 (Miniconda3 4.2.12 64-bit)" UninstallMiniconda "Python 3.6.5 (Miniconda3 4.5.4 32-bit)" UninstallMiniconda "Python 3.6.5 (Miniconda3 4.5.4 64-bit)" UninstallMiniconda "Python 3.7.0 (Miniconda3 4.5.11 32-bit)" UninstallMiniconda "Python 3.7.0 (Miniconda3 4.5.11 64-bit)" UninstallMiniconda "Miniconda3 4.7.12 (Python 3.7.4 32-bit)" UninstallMiniconda "Miniconda3 4.7.12 (Python 3.7.4 64-bit)" Start-Sleep -Seconds 30 Remove-Item C:\Miniconda3 -Force -Recurse -ErrorAction SilentlyContinue Remove-Item C:\Miniconda3-x64 -Force -Recurse -ErrorAction SilentlyContinue Write-Host "Installing Miniconda2 4.7.12 (Python 2.7.16 64-bit)..." -ForegroundColor Cyan Write-Host "Downloading..." $exePath = "$env:TEMP\Miniconda2-4.7.12.1-Windows-x86_64.exe" (New-Object Net.WebClient).DownloadFile('https://repo.continuum.io/miniconda/Miniconda2-4.7.12.1-Windows-x86_64.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /InstallationType=AllUsers /RegisterPython=0 /AddToPath=0 /S /D=C:\Miniconda-x64 Remove-Item $exePath Write-Host "Installing Miniconda2 4.7.12 (Python 2.7.16 32-bit)..." -ForegroundColor Cyan Write-Host "Downloading..." $exePath = "$env:TEMP\Miniconda2-4.7.12.1-Windows-x86.exe" (New-Object Net.WebClient).DownloadFile('https://repo.continuum.io/miniconda/Miniconda2-4.7.12.1-Windows-x86.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /InstallationType=AllUsers /RegisterPython=0 /AddToPath=0 /S /D=C:\Miniconda Remove-Item $exePath Write-Host "Installing Miniconda3 3.16.0 Python 3.4.3 x64..." -ForegroundColor Cyan Write-Host "Downloading..." $exePath = "$env:TEMP\Miniconda3-3.16.0-Windows-x86_64.exe" (New-Object Net.WebClient).DownloadFile('https://repo.continuum.io/miniconda/Miniconda3-3.16.0-Windows-x86_64.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /InstallationType=AllUsers /RegisterPython=0 /AddToPath=0 /S /D=C:\Miniconda34-x64 Remove-Item $exePath Write-Host "Installing Miniconda3 3.16.0 Python 3.4.3 x86..." -ForegroundColor Cyan Write-Host "Downloading..." $exePath = "$env:TEMP\Miniconda3-3.16.0-Windows-x86.exe" (New-Object Net.WebClient).DownloadFile('https://repo.continuum.io/miniconda/Miniconda3-3.16.0-Windows-x86.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /InstallationType=AllUsers /RegisterPython=0 /AddToPath=0 /S /D=C:\Miniconda34 Remove-Item $exePath Write-Host "Installing Miniconda3 4.2.12 Python 3.5.2 x64..." -ForegroundColor Cyan Write-Host "Downloading..." $exePath = "$env:TEMP\Miniconda3-4.2.12-Windows-x86_64.exe" (New-Object Net.WebClient).DownloadFile('https://repo.continuum.io/miniconda/Miniconda3-4.2.12-Windows-x86_64.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /InstallationType=AllUsers /RegisterPython=0 /AddToPath=0 /S /D=C:\Miniconda35-x64 Remove-Item $exePath Write-Host "Installing Miniconda3 4.2.12 Python 3.5.2 x86..." -ForegroundColor Cyan Write-Host "Downloading..." $exePath = "$env:TEMP\Miniconda3-4.2.12-Windows-x86.exe" (New-Object Net.WebClient).DownloadFile('https://repo.continuum.io/miniconda/Miniconda3-4.2.12-Windows-x86.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /InstallationType=AllUsers /RegisterPython=0 /AddToPath=0 /S /D=C:\Miniconda35 Remove-Item $exePath Write-Host "Installing Miniconda3 4.5.4 Python 3.6.5 x64..." -ForegroundColor Cyan Write-Host "Downloading..." $exePath = "$env:TEMP\Miniconda3-4.5.4-Windows-x86_64.exe" (New-Object Net.WebClient).DownloadFile('https://repo.continuum.io/miniconda/Miniconda3-4.5.4-Windows-x86_64.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /InstallationType=AllUsers /RegisterPython=0 /AddToPath=0 /S /D=C:\Miniconda36-x64 Remove-Item $exePath Write-Host "Installing Miniconda3 4.5.4 Python 3.6.5 x86..." -ForegroundColor Cyan Write-Host "Downloading..." $exePath = "$env:TEMP\Miniconda3-4.5.4-Windows-x86.exe" (New-Object Net.WebClient).DownloadFile('https://repo.continuum.io/miniconda/Miniconda3-4.5.4-Windows-x86.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /InstallationType=AllUsers /RegisterPython=0 /AddToPath=0 /S /D=C:\Miniconda36 Remove-Item $exePath Write-Host "Installing Miniconda3 4.8.2 (Python 3.7.6 64-bit)..." -ForegroundColor Cyan Write-Host "Downloading..." $exePath = "$env:TEMP\Miniconda3-py37_4.8.2-Windows-x86_64.exe" (New-Object Net.WebClient).DownloadFile('https://repo.continuum.io/miniconda/Miniconda3-py37_4.8.2-Windows-x86_64.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /InstallationType=AllUsers /RegisterPython=0 /AddToPath=0 /S /D=C:\Miniconda37-x64 Remove-Item $exePath Write-Host "Installing Miniconda3 4.8.2 (Python 3.7.6 32-bit)..." -ForegroundColor Cyan Write-Host "Downloading..." $exePath = "$env:TEMP\Miniconda3-py37_4.8.2-Windows-x86.exe" (New-Object Net.WebClient).DownloadFile('https://repo.continuum.io/miniconda/Miniconda3-py37_4.8.2-Windows-x86.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /InstallationType=AllUsers /RegisterPython=0 /AddToPath=0 /S /D=C:\Miniconda37 Remove-Item $exePath Write-Host "Installing Miniconda3 4.8.2 (Python 3.8.1 64-bit)..." -ForegroundColor Cyan Write-Host "Downloading..." $exePath = "$env:TEMP\Miniconda3-py38_4.8.2-Windows-x86_64.exe" (New-Object Net.WebClient).DownloadFile('https://repo.continuum.io/miniconda/Miniconda3-py38_4.8.2-Windows-x86_64.exe', $exePath) Write-Host "Installing..." cmd /c start /wait $exePath /InstallationType=AllUsers /RegisterPython=0 /AddToPath=0 /S /D=C:\Miniconda38-x64 Remove-Item $exePath cmd /c mklink /J C:\Miniconda3 C:\Miniconda37 cmd /c mklink /J C:\Miniconda3-x64 C:\Miniconda37-x64 function CheckMiniconda($path) { if (-not (Test-Path "$path\python.exe")) { throw "python.exe is missing in $path"; } elseif (-not (Test-Path "$path\Scripts\conda.exe")) { throw "conda.exe is missing in $path"; } else { Write-Host "$path is OK" -ForegroundColor Green; } Start-ProcessWithOutput "$path\python --version" Start-ProcessWithOutput "$path\Scripts\conda --version" } CheckMiniconda 'C:\Miniconda' CheckMiniconda 'C:\Miniconda-x64' CheckMiniconda 'C:\Miniconda3' CheckMiniconda 'C:\Miniconda3-x64' CheckMiniconda 'C:\Miniconda34' CheckMiniconda 'C:\Miniconda34-x64' CheckMiniconda 'C:\Miniconda35' CheckMiniconda 'C:\Miniconda35-x64' CheckMiniconda 'C:\Miniconda36' CheckMiniconda 'C:\Miniconda36-x64' CheckMiniconda 'C:\Miniconda37' CheckMiniconda 'C:\Miniconda37-x64' CheckMiniconda 'C:\Miniconda38-x64' |