-
Notifications
You must be signed in to change notification settings - Fork 510
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Universal binary support for MacOS #629
Comments
Not shipping universal2 binaries was a conscious choice, since the practical need for most users is pretty low... That does, unfortunately, screw over folks such as yourself that are trying to ship a true multi-arch Python installation. I don't recall all the problems we had early on that kept us from shipping universal2 wheels- it's possible to construct one manually in multiple passes with If you want to try it yourself, just manually build libyaml static objects for both arches, |
... another thought: if your YAML needs aren't too performance-sensitive, you could just ship a pure-Python installation of pyyaml. |
"Not shipping universal2 binaries was a conscious choice, since the practical need for most users is pretty low" My YAML needs are performance-sensitive, but I guess it's pure-Python for now. Anyway thanks for the details response! |
Just for giggles I threw together another pass at this while eating lunch today... I was able to get a single-pass build of upstream libyaml static libs to work (albeit hackily), and a single-pass Python extension build worked under |
@nitzmahone is it possible that we are able to build universal2 binaries for pyyaml currently? |
When I pip install PyYAML on a MacOS intel machine I get _yaml.cpython-39-darwin.so as "Mach-O 64-bit bundle x86_64".
When I pip install PyYAML on a MacOS AppleSilicon (arm64) machine I get yaml.cpython-39-darwin.so as "Mach-O 64-bit bundle arm64".
This goes against the established practice of distributing MacOS binaries as "Universal binary" that contains both x86_64 and arm64.
I have a project I distribute with pyinstaller and I rather distribute one universal binary than different ones according to the user's machine type.
Python 3.9/3.10 itself, and all other modules are I used are distributed as Universal binary. pyinstaller also supports building universal binaries.
I there an option to get PyYAML as Universal binary ?
The text was updated successfully, but these errors were encountered: