Monday, January 06, 2025

audio/quodlibet not currently compatible with Python 3.12?

After an upgrade to the latest snapshot packages, quodlibet fails with:

```
$ quodlibet
Traceback (most recent call last):
File "/usr/local/bin/quodlibet", line 11, in <module>
from quodlibet.main import main
File "/usr/local/lib/python3.12/site-packages/quodlibet/__init__.py", line 21, in <module>
from .util.i18n import _, C_, N_, ngettext, npgettext
File "/usr/local/lib/python3.12/site-packages/quodlibet/util/__init__.py", line 28, in <module>
from senf import fsnative
ModuleNotFoundError: No module named 'senf'
```

It seems that this is because we rely on behaviour in
`/usr/local/lib/python3.12/site-packages/quodlibet/_import.py` which has
changed from 3.11 -> 3.12. AFAICS from a quick rummage in Python's
changelog, `find_module` is no longer a thing, and there should be
`find_spec`? Exactly how that should work in detail is unclear to me: I'm
very out of date with this sort of thing in Python.


Laurie

No comments:

Post a Comment