Priority: Not Evaluated
Affects Version/s: 6.2.2, 6.2.3, 6.3.0
Fix Version/s: None
Environment:macOS 11.6.2 (Big Sur), Intel MacBook Pro
Python 3.6.15 (from MacPorts)
Debian Buster, Debian Bullseye, Ubuntu 20.04
Commits:bcd1ac22f8 (pyside/pyside-setup/dev) 725be71849 (pyside/pyside-setup/6.3) 725be71849 (pyside/pyside-setup/wip/6.3_pypy) 725be71849 (pyside/tqtc-pyside-setup/6.3) 4a799fee40 (pyside/tqtc-pyside-setup/6.2)
The PySide6 macOS universal2 wheels uploaded for recent releases 6.2.2 and 126.96.36.199 appear to have an ABI compatibility issue on Python 3.6 and 3.7, and following a successful `pip install`, importing `PySide6.QtCore` fails with this combination of platform and Python version, with error "Symbol not found: _PyIndex_Check"
Detailed steps to reproduce:
- Create a new Python 3.6 or Python 3.7 virtual environment, and activate that environment.
- If necessary, upgrade `pip` to the most recent version (21.3.1) in that environment
- Install PySide6 with
On my machine, the install succeeds, but the final step fails with
I was expecting the import to succeed with no error. I see the same results with Python 3.6 and 3.7, but not with Python 3.8 or later. I also don't see any issue with PySide6 6.2.1 or earlier.
Here's a full transcript of a shell session on my machine.
Entering wild guess territory: I suspect that the issue is that the macOS wheels for the recent releases of PySide6 were built on Python 3.8, presumably because this was the only way to create universal2 wheels. But there was a bug with Python's stable ABI related to PyIndex_Check, which was a macro in Python 3.6 and 3.7, and only became a function in Python 3.8. See https://bugs.python.org/issue33738. So these wheels fail on Python 3.6 and 3.7.