Skip to content
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

Upgrade PyQt5, increases Python version compatibility #2487

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

carlosperate
Copy link
Member

@carlosperate carlosperate commented Dec 28, 2023

To be merged after we releases 1.2.x.
As this drops compatibility with macOs 10.12 Sierra, and older Python releases, this could probably be releases as v1.3.0.

Before After
Qt version 5.13 5.15
Python versions 3.5 to 3.8 3.7 to 3.12
min macOS support 10.12 Sierra 10.13 High Sierra
macOS arm64 support *1
Pi OS support Stretch, Buster Buster, Bullseye, Bookworm*2
Ubuntu LTS support 16.04+ 20.04+ *3
Windows support 7+ 7+

*1 In theory this should work, but haven't got access to an arm mac to test, CI on arm64 mac does pass
*2 Not tested yet in Bookworm
*3 Ubuntu 18.04 supported by Qt 5.15, but it ships Python 3.6, which is not supported by PyQt5 5.15.7+

@carlosperate carlosperate changed the title Upgrade PyQt5 to latest release, which increases Python version compatibility Upgrade PyQt5, increases Python version compatibility Dec 28, 2023
@carlosperate carlosperate force-pushed the pyqt5-latest branch 2 times, most recently from 1eee3f3 to 79701ca Compare December 28, 2023 14:50
@carlosperate carlosperate added this to the 1.3.0 milestone Dec 28, 2023
@carlosperate carlosperate force-pushed the pyqt5-latest branch 2 times, most recently from bc49128 to fe87b39 Compare January 12, 2024 15:40
@carlosperate
Copy link
Member Author

carlosperate commented Jan 14, 2024

While running the Bullseye CI, sotimes this exception is encountered:
https://pipelinesghubeus23.actions.githubusercontent.com/WEHCO7BLxX43VZ6LAsmLv9N4egiAnfJmgg7HuAR6Qh3z6PEs6u/_apis/pipelines/1/runs/3215/signedlogcontent/5?urlExpires=2024-01-12T18%3A57%3A13.4527598Z&urlSigningMethod=HMACV1&urlSignature=XnYX3x4I8MrHMeE6mcxq%2BF0vGuaAQoU%2F%2FCBzPrSnivE%3D

err: All done! ✨ 🍰 ✨
err: 1 file would be left unchanged.
err: Exception in thread Thread-1:
err: Traceback (most recent call last):
err:   File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
err:     self.run()
err:   File "/usr/lib/python3.9/concurrent/futures/process.py", line 317, in run
err:     result_item, is_broken, cause = self.wait_result_broken_or_wakeup()
err:   File "/usr/lib/python3.9/concurrent/futures/process.py", line 376, in wait_result_broken_or_wakeup
err:     worker_sentinels = [p.sentinel for p in self.processes.values()]
err:   File "/usr/lib/python3.9/concurrent/futures/process.py", line 376, in <listcomp>
err:     worker_sentinels = [p.sentinel for p in self.processes.values()]
err: RuntimeError: dictionary changed size during iteration

But this turns out to be an issue in the Python standard library:
https://bugs.python.org/issue43498

All Bullseye releases ship 3.9.2 and the issue is resolved in 3.9.10:
python/cpython#29837
https://peps.python.org/pep-0596/

Restarting the CI job is likely to "workaround" the issue.

As discussed in #2423
pygame version 2.5.1 should have fixed the issue with older
macOS releases. So, we can remove this max version clamp.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant