
On Tue, Aug 15, 2023 at 3:49 PM Robert Webb via openSUSE Factory <factory@lists.opensuse.org> wrote:
There are three packages providing python3dist(jupyterlab), and for some reason zypper selects python310-jupyterlab instead of python311-jupyterlab.
Alphanumeric sort (python310 < python311 < python39)?
But how can zypper decide which package is the correct one? Any choice will be random.
That seems to be consistent with my results. I had never removed python 3.10, and so have those plus almost as many 3.11 packages. So I tried removing 3.10. Does this show that dependencies that pulled in python310 packages can be satisfied by python311 packages? (Tumbleweed 20230813):
Sure. Looking at the build log, python-jupiterlab does not really "build" anything - it simply installs python scripts three times (for Python 3.9, 3.10 and 3.11). So they are really identical. The only version-dependent part is the cache of compiled python code (.pyc files). I do not know how common is this situation and have zero knowledge about python packaging, but assuming one can have common location for scripts themselves and per-version locations for pyc files this really calls for a) single package python3-jupiterlab which installs into something like /usr/lib/python3 b) per-version packages containing pyc files that install into /usr/lib/python311 etc and supplement python311-base etc and python3-jupyterlab. As said, no idea if this is doable.