Open
Description
After the Mu 1.2 release we are planning to move to PyQt6.
Problem
For the Raspberry Pi we depend on the python3-PyQt5 apt packages being available, for both the deb installer and pip installation.
The python3-PyQt6 pacakges will only be avialble in the next Ubuntu Kinetic 22.10 release and Debian Bookworm, which doesn't have a release date yet:
- Ubuntu Kinetic: https://packages.ubuntu.com/kinetic/python3-pyqt6
- Doesn't exists for 22.04, this is a 404: https://packages.ubuntu.com/jammy/python3-pyqt6:
- Debian Bookworm: https://packages.debian.org/bookworm/python3-pyqt6
- Doesn't exists for Buster, this is a 404: https://packages.debian.org/buster/python3-pyqt6
As Riverbank does't provide Python wheels for Arm targets, and pywheels doesn't have a recipe to build PyQt from source, installing in Raspberry Pi is not possible without the debian packages.
There also isn't packages for python3-pyqt5.qsci
nor python3-pyqt5.qtchart
. Technically QtCharts is options still in the codebase, but QScintilla is essential for Mu.
Possible Solution
The only options I can see right now:
- Not support Raspberry Pi until the Raspberry Pi OS based on Bookworm is released, or the Debian packages are available
- This can take a few years, so I really hope it doesn't come down to this
- Keep the codebase compatible with PyQt 5 and 6, use PyQt5 in Arm and PyQt6 everywhere else
- We'll need to keep the environmnetal markers in
setup.py
to not install either on Arm, and as we currently, we'll depend on the PyQt5 Python package being installed via apt
- We'll need to keep the environmnetal markers in
- Maintain an old branch of v1.2.x, and possible backport important bug fixes.
- Any other ideas?