Status of PYME with Big Sur (and M1)

Hi PYME devels,

From the odd commit message I seem to have gleaned that PYME should now build ok on Big Sur. Is that correct or did I imagine this (possibly based on wishful thinking)?

In addition, does it as yet build natively on M1 with latest Pythons (>=3.XX?) or are there still show stoppers.

I am asking as I am considering an M1 machine in the mid term future and was also discussing this with Izzy Jayasignhe the other day. She already has an M1 machine and wonders if one needs to use rosetta etc.

To be honest, I am not even sure if anaconda can as yet be run natively on M1.

Many thanks for hints and tips!

If I recall correctly, it’s been tested on Big Sur, but not specifically on M1 - @zacsimile knows the details. I assume it might require rosetta for now - at least some of the dependencies, but as soon as anaconda etc … are fully ported I’d expect us to be good to go. I think I hit most of the potential ARM/vs INTEL issues in the c code parts when getting it running on the RaspberryPI.

Many thanks, this is very reassuring. From a stackoverflow post about general Python stuff on M1 I get the impression that you install miniconda in emulator mode and then most things just work. Looks like you can even have native M1 builds in conda environments in such an install that you create with special syntax which will be nice for experimenting with a native build when the time comes.

One of our users here is running PYME on an M1. They installed it using a packaged version, which did not use any emulator modes for miniconda as far as I know.

Thanks @DavidBaddeley & @zacsimile! Would the packaged version need an existing Python 3.7 installation, or would it work as a stand-alone?

Hi @izzy! It should work as a standalone package. It will create a custom anaconda environment, complete with its own python, even if anaconda is not already installed.

I’ll just add that the packaged version is almost certainly running in emulation mode (it’s compiled for x86), but it’s likely transparent. Performance will likely be a little worse than if it was native, but hard to tell how much. Probably not a significant issue,