Hi, I am trying to use the technique of pillow to pre-emptively build windows
38 wheel for x_64 and also i686.
I used https://github.com/matthew-brett/multibuild/blob/devel/install_python.ps1 as a starting point, but made the
version stuff explicit so my install ps1 looks like
# Install specified Python version.
# Install only if:
# Our current matrix entry uses this Python version AND
# Python version is not already available.
Write-Host "install_python.ps1 PYTHON=Python${env:PYVER}" -ForegroundColor
Yellow
$PYTHON="C:\Python${env:PYVER}"
$py_exe = "${PYTHON}\Python.exe"
Write-Host "py_exe: ${py_exe}" -ForegroundColor Yellow
if ( [System.IO.File]::Exists($py_exe) ) {
Write-Host "${py_exe} apparently exists" -ForegroundColor Red
exit 0
}
if ($PYTHON -eq "C:\Python38-x64") {
$exe_suffix="-amd64"
$req_ver="3.8.0"
$req_dir="3.8.0"
} elseif ($PYTHON -eq "C:\Python38") {
$exe_suffix=""
$req_ver="3.8.0"
$req_dir="3.8.0"
} else {
Write-Host "python undiscovered" -ForegroundColor Red
exit 0
}
$py_url = "https://www.python.org/ftp/python"
Write-Host "Installing Python ${req_ver}$exe_suffix..." -ForegroundColor Yellow
$exePath = "$env:TEMP\python-${req_ver}${exe_suffix}.exe"
$downloadFile = "$py_url/${req_dir}/python-${req_ver}${exe_suffix}.exe"
Write-Host "exePath=${exePath} downloadFile=${downloadFile}"
Write-Host "Downloading $downloadFile..."
(New-Object Net.WebClient).DownloadFile($downloadFile, $exePath)
Write-Host "Installing..."
cmd /c start /wait $exePath /quiet TargetDir="$PYTHON" Shortcuts=0
Include_launcher=0 InstallLauncherAllUsers=0
Write-Host "Python ${req_ver} installed to $PYTHON"
echo "$(& $py_exe --version 2> $null)"
the appveyor log reoports this as working so there I see this reported
install_python.ps1 PYTHON=Python38-x64
py_exe: C:\Python38-x64\Python.exe
Installing Python 3.8.0-amd64...
exePath=C:\Users\appveyor\AppData\Local\Temp\1\python-3.8.0-amd64.exe
downloadFile=https://www.python.org/ftp/python/3.8.0/python-3.8.0-amd64.exe
Downloading https://www.python.org/ftp/python/3.8.0/python-3.8.0-amd64.exe...
Installing...
Python 3.8.0 installed to C:\Python38-x64
Python 3.8.0
I then used this python to build a reportlab wheel; that was reported as
C:\projects\reportlab\dist\reportlab-3.5.32-cp38-cp38m-win_amd64.whl
I loaded this wheel onto a windows 10 machine which reports itself as 64-bit OS
x64-based processor
I installed Python 3.8 and used it to create a virtualenv; the venv python reports itself as Python 3.8.0 (64-bit), but
when run it says Python 3.8.0 ........ [MSC v.1916 64 bit (AMD64)] on win32
The real problem is that the virtualenv pip wuill not install my wheel the
error says
ERROR: reportlab-3.5.32-cp38-cp38m-win_amd64.whl is not a supported wheel on
this platform.
I have already built reportlab-3.5.32-cp37-cp37m-win_amd64.whl as part of the standard appveyor process and that
installs fine into a virtualenv built for Python 3.7.5.
I am slightly mystified can anyone suggest what I am doing wrong?
--
Robin Becker
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at
https://mail.python.org/archives/list/distutils-sig@python.org/message/3JVKH2WNWQQSNXLASR3J7UVJYFQJULNJ/