On Tuesday 2021-08-10 22:15, Richard Brown wrote:
On Tue, 2021-08-10 at 22:04 +0200, Ben Greiner wrote:
If SUSE is going to stick with the decision to stay on Python 3.6,
Python 3.9 is already part of Leap 15.3, you don't need Leap 15.4 for it. Seriously, why post about whether SUSE is going to stick with Python 3.6 when you ALREADY have a SUSE Release Manager, for SLE no less, who was involved in SLE 15 SP3 no less, telling you ALREADY that Python 3.9 is in Leap 15.3? It may have python39, but, at least for my use case, it is very limited use.
1. I have scripts that "#!/usr/bin/python3". /usr/bin/python3 is fully controlled by python3-base only. It's not update-alternatived by the looks of it, so python 3.9 won't get used without modifying the script or playing games with $PATH. That's intentional. If your middleware needs the non-primary python3,
Am 11.08.21 um 00:34 schrieb Jan Engelhardt: then it must declare so in its script-interpreter-lines. Upstream often has the #!/usr/bin/env python and assumes you play games with $PATH or have a virtualenv. But our RPM specfiles specifically change this line because we provide *system* packages.
2. Even if I managed to make it use py39, the script uses something like `import click`. And there is no sign of python39-click in 15.3 that one could install.
3. Rebuilding python packages produces just the python3(6) version again, because python-rpm-macros's %pythons macro does not mention python39. rpm --eval %pythons
That's a lot of stones that are in the way for getting my middleware stuff to use a contemporary py runtime.
Thank you for providing a living example. Exactly my point. If you ignore Matej's "I am afraid co-installable Python flavours won't be in SLE-15SP4.", you could `%define pythons python39 python39` in every single python-X package in the dependency tree of your middleware so that the singlespec enabled spec files provide additional python39-X packages. Of course this would be easier if that definition would be provided distro-wide, but apparently this is not desired. Ben