I’m starting an update of an old wxPython Mac app. I want to be ready to use the wxPy 4.1.2 release, so am happy to work with snapshots in the mean time. But which snapshot to use?
Python.org has a 3.10 series release (3.10.1) for Universal2 only.
The more mature 3.9 series has releases for Intel only and Universal1.
I assume Universal2 is the future and what I should go with.
However the wxpy snapshot directory only has one Universal2 release.
This is for Python3.8, and the python.org only has builds for 3.8.10 (2 releases behind the latest 3.8.12 as it is now only in security release in source code only - no official builds).
There are snapshots for Python 3.9/3.10 but they seem to be for ARM only.
Yes they are universal binaries. The parts of the file names after the version number are generated by Python and/or setuptools, and I haven’t yet looked into why it’s acting like a single architecture build. I do replace most of the build part of the process, and there is a small hack in place to let the wheel phase know that the build phase was already done. So it may just need another tweak in there.
Turns out that if you simply pip install wxpython on an Ubuntu system and if it happens to be arm instead of x86 wxPython will be built on the spot for you - no complex build toolchain required - just make sure you install some essential linux packages first (see below). See my answer Pip cannot install wxPython for Python 3.10 (32-bit) - Stack Overflow
I am now happily running wxPython in a Ubuntu 22.04 (arm) virtual machine on my Apple MacMini M1 (arm) machine.
P.S. I happen to use the free UTM Virtual Machine app for Mac to run Ubuntu, which employs Apple’s Hypervisor virtualization framework to run ARM64 operating systems on Apple Silicon at near native speeds.