python / cpython

The Python programming language
https://www.python.org
Other
62.7k stars 30.06k forks source link

Intel-suffixed free-threading macOS universal builds missing #120285

Closed henryiii closed 2 days ago

henryiii commented 3 months ago

Bug report

Bug description:

For 3.13.0b2, the macOS universal free-threading build is missing the -intel suffixed binaries when installed on Apple Silicon. These are present for all the non-free-threading versions:

cibuildwheel %  find /Library/Frameworks/Python*.framework/Versions -name '*-intel64'
/Library/Frameworks/Python.framework/Versions/3.10/bin/python3-intel64
/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10-intel64
/Library/Frameworks/Python.framework/Versions/3.11/bin/python3-intel64
/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11-intel64
/Library/Frameworks/Python.framework/Versions/3.13/bin/python3-intel64
/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13-intel64
/Library/Frameworks/Python.framework/Versions/3.12/bin/python3-intel64
/Library/Frameworks/Python.framework/Versions/3.12/bin/python3.12-intel64
/Library/Frameworks/Python.framework/Versions/3.9/bin/python3-intel64
/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9-intel64
/Library/Frameworks/Python.framework/Versions/3.8/bin/python3-intel64
/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8-intel64

But is missing for the free threading build:

cibuildwheel % find /Library/Frameworks/PythonT.framework/Versions/3.13/bin/
/Library/Frameworks/PythonT.framework/Versions/3.13/bin/
/Library/Frameworks/PythonT.framework/Versions/3.13/bin//python3.13t
/Library/Frameworks/PythonT.framework/Versions/3.13/bin//python3.13t-config
/Library/Frameworks/PythonT.framework/Versions/3.13/bin//pip3.13
/Library/Frameworks/PythonT.framework/Versions/3.13/bin//pip3
/Library/Frameworks/PythonT.framework/Versions/3.13/bin//pip
/Library/Frameworks/PythonT.framework/Versions/3.13/bin//python3.13

Not sure why there are two slashes above. From https://github.com/pypa/cibuildwheel/pull/1856#issuecomment-2156089380. CC @ned-deily.

CPython versions tested on:

3.13

Operating systems tested on:

macOS

mayeut commented 3 months ago

Just to be clear on what this allows: The -intel64 suffixed binaries are not universal2 but x86_64 only meaning that if you use this one (or a virtual environment that uses this base python executable), you don't have to prefix every command with arch -x86_64 (or spawn a new shell in x86_64 mode) to run python in x86_64 mode on Apple Silicon.

ned-deily commented 2 days ago

Thanks for the report. As a result, the -intel64 suffixed binaries were added to the free-threaded PythonT.framework bin directory as of the 3.13.0b3 release of the python.org installer for macOS.