-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Black 23.10.0 and 23.10.1 wheels don't work on macOS Ventura on Apple Silicon #3981
Comments
Actually, Glyph's duplicate provides the reason for this not working. 10.16 wheels should be universal2 and not arm64. |
Hmm, this is curious. I dropped support for universal2 builds in #3881. We did this in mypy a long time back without any problems. This is because we build single arch wheels and pip will prefer single arch builds over universal2, so basically no one used the universal2 wheels. Instead they just slow down builds, waste space on PyPI, etc. The mypy change was done by henryiii who helps maintain cibuildwheel / knows a lot about the space. I think numpy also no longer ships universal2 wheels. Anyway regardless of whether we ship universal2, the single arch arm64 wheels we ship should work. It's unclear to me where 10_16 is coming from. For all the arm64 wheels, the macOS deployment target is usually 11_0. Maybe something something hatch? I'm seeing some suspicious code in hatch related to |
Setting We do this for Pillow: if [[ "$PLAT" == "arm64" ]]; then
export MACOSX_DEPLOYMENT_TARGET="11.0"
else
export MACOSX_DEPLOYMENT_TARGET="10.10"
fi Although we use multibuild, so see https://cibuildwheel.readthedocs.io/en/stable/cpp_standards/#macos-and-deployment-target-versions for cibuildwheel options. Here's some investigation showing which wheels are compatible and selected. With Python 3.11 on macOS Ventura Apple Silicon, adding
Then grepping the logs, 23.9.1 is selecting the universal2: ❯ grep 23.9.1 23.9.1.txt | grep macos | grep cp311
Skipping link: none of the wheel's tags (cp311-cp311-macosx_10_16_arm64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/64/fa/1107aafc073fd6340c09a95b2367c8f5127083bf6cb9738bdd11c671350f/black-23.9.1-cp311-cp311-macosx_10_16_arm64.whl (from https://pypi.org/simple/black/) (requires-python:>=3.8)
Found link https://files.pythonhosted.org/packages/72/1a/fc7a669677250d73ea190342d360b3bd150043e61e85d1dbb7ae8bd8525a/black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl (from https://pypi.org/simple/black/) (requires-python:>=3.8), version: 23.9.1
Skipping link: none of the wheel's tags (cp311-cp311-macosx_10_16_x86_64) are compatible (run pip debug --verbose to show compatible tags): https://files.pythonhosted.org/packages/db/9e/1efe457688f60c8a3b364724828a75dd9939d77c9deaa821d7fb09af3c7f/black-23.9.1-cp311-cp311-macosx_10_16_x86_64.whl (from https://pypi.org/simple/black/) (requires-python:>=3.8)
Obtaining dependency information for black==23.9.1 from https://files.pythonhosted.org/packages/72/1a/fc7a669677250d73ea190342d360b3bd150043e61e85d1dbb7ae8bd8525a/black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl.metadata
https://files.pythonhosted.org:443 "GET /packages/72/1a/fc7a669677250d73ea190342d360b3bd150043e61e85d1dbb7ae8bd8525a/black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl.metadata HTTP/1.1" 200 65132
Downloading black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl.metadata (65 kB)
https://files.pythonhosted.org:443 "GET /packages/72/1a/fc7a669677250d73ea190342d360b3bd150043e61e85d1dbb7ae8bd8525a/black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl HTTP/1.1" 200 2597509
Downloading black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl (2.6 MB)
Downloading link https://files.pythonhosted.org/packages/72/1a/fc7a669677250d73ea190342d360b3bd150043e61e85d1dbb7ae8bd8525a/black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl (from https://pypi.org/simple/black/) (requires-python:>=3.8) to /private/var/folders/c8/hl_96fcs0hjgr29njx33x20c0000gn/T/pip-unpack-3qfqo5oh/black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl But 23.10.1 is not selecting any cp311 wheels:
As suggested by the logs, running ❯ pip debug --verbose | grep cp311
WARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.
cp311-cp311-macosx_13_0_arm64
cp311-cp311-macosx_13_0_universal2
cp311-cp311-macosx_12_0_arm64
cp311-cp311-macosx_12_0_universal2
cp311-cp311-macosx_11_0_arm64
cp311-cp311-macosx_11_0_universal2
cp311-cp311-macosx_10_16_universal2
cp311-cp311-macosx_10_15_universal2
cp311-cp311-macosx_10_14_universal2
cp311-cp311-macosx_10_13_universal2
cp311-cp311-macosx_10_12_universal2
cp311-cp311-macosx_10_11_universal2
cp311-cp311-macosx_10_10_universal2
cp311-cp311-macosx_10_9_universal2
cp311-cp311-macosx_10_8_universal2
cp311-cp311-macosx_10_7_universal2
cp311-cp311-macosx_10_6_universal2
cp311-cp311-macosx_10_5_universal2
cp311-cp311-macosx_10_4_universal2
cp311-abi3-macosx_13_0_arm64
cp311-abi3-macosx_13_0_universal2
cp311-abi3-macosx_12_0_arm64
cp311-abi3-macosx_12_0_universal2
cp311-abi3-macosx_11_0_arm64
cp311-abi3-macosx_11_0_universal2
cp311-abi3-macosx_10_16_universal2
cp311-abi3-macosx_10_15_universal2
cp311-abi3-macosx_10_14_universal2
cp311-abi3-macosx_10_13_universal2
cp311-abi3-macosx_10_12_universal2
cp311-abi3-macosx_10_11_universal2
cp311-abi3-macosx_10_10_universal2
cp311-abi3-macosx_10_9_universal2
cp311-abi3-macosx_10_8_universal2
cp311-abi3-macosx_10_7_universal2
cp311-abi3-macosx_10_6_universal2
cp311-abi3-macosx_10_5_universal2
cp311-abi3-macosx_10_4_universal2
cp311-none-macosx_13_0_arm64
cp311-none-macosx_13_0_universal2
cp311-none-macosx_12_0_arm64
cp311-none-macosx_12_0_universal2
cp311-none-macosx_11_0_arm64
cp311-none-macosx_11_0_universal2
cp311-none-macosx_10_16_universal2
cp311-none-macosx_10_15_universal2
cp311-none-macosx_10_14_universal2
cp311-none-macosx_10_13_universal2
cp311-none-macosx_10_12_universal2
cp311-none-macosx_10_11_universal2
cp311-none-macosx_10_10_universal2
cp311-none-macosx_10_9_universal2
cp311-none-macosx_10_8_universal2
cp311-none-macosx_10_7_universal2
cp311-none-macosx_10_6_universal2
cp311-none-macosx_10_5_universal2
cp311-none-macosx_10_4_universal2
cp311-none-any So the only compatible
For an |
This is the logic: https://github.com/pypa/hatch/blob/hatchling-v1.18.0/backend/src/hatchling/builders/wheel.py#L620-L641 History: |
Related, non-Hatch: microsoft/onnxruntime#17166 |
On macOS Ventura 13.6 on Apple Silicon,
pip
selects the universal pure Python wheel when installing Black 23.10.1:If you want to install the wheel file directly, you get an error:
Black 23.10.0 has the same problem.
However, Black 23.9.1 and older installs just fine:
The text was updated successfully, but these errors were encountered: