python.ps1 1.1 KB

123456789101112131415161718192021222324252627282930
  1. $erroractionpreference = "stop"
  2. $version = "3.11.3"
  3. if ("$env:PROCESSOR_ARCHITECTURE" -eq "AMD64") {
  4. $sha256sum = "7419B2E98516FBD0B66A1237B80187FFB21D32E47B4A4235C2D9D6379597070F"
  5. $arch = "amd64"
  6. } elseif ("$env:PROCESSOR_ARCHITECTURE" -eq "ARM64") {
  7. $sha256sum = "03BAD6A7C898FC8F693982437AAB6DB698107B82EA93F76424195AE2C161246C"
  8. $arch = "arm64"
  9. } else {
  10. throw ('unknown PROCESSOR_ARCHITECTURE: ' + "$env:PROCESSOR_ARCHITECTURE")
  11. }
  12. $filename = "python-$version-embed-$arch"
  13. $tarball = "$filename.zip"
  14. $outdir = $pwd.Path
  15. $outdir = "$outdir\.gitlab"
  16. $ProgressPreference = 'SilentlyContinue'
  17. Invoke-WebRequest -Uri "https://cmake.org/files/dependencies/internal/$tarball" -OutFile "$outdir\$tarball"
  18. $hash = Get-FileHash "$outdir\$tarball" -Algorithm SHA256
  19. if ($hash.Hash -ne $sha256sum) {
  20. exit 1
  21. }
  22. Add-Type -AssemblyName System.IO.Compression.FileSystem
  23. [System.IO.Compression.ZipFile]::ExtractToDirectory("$outdir\$tarball", "$outdir\python3")
  24. Remove-Item "$outdir\python3\*._pth" # Avoid sys.path specific to embedded python.
  25. Remove-Item "$outdir\$tarball"