Is there a reason why the python3 version in TW has not updated from 3.8 to 3.9 or 3.10? The TW repositories have had 3.9 for a while and now also have 3.10. Is there a schedule as to when TW updates the python3 version? I would have expected it to have been updated by now considering the rolling distribution... Would you recommended against installing 3.10 now and changing /usr/bin/python3 to point to it?
On 12/6/21 00:50, Joe Salmeri wrote:
Is there a reason why the python3 version in TW has not updated from 3.8 to 3.9 or 3.10? I'm also wondering what's blocking using 3.9 or 3.10 as main python3 version.
IIRC 3.10 has some changes which turns formerly deprecated stuff into errors. But 3.9 should be possible. FWIW even Debian stable already uses Python 3.9. Ciao, Michael.
On 12/6/21 19:22, Michael Ströder wrote:
On 12/6/21 00:50, Joe Salmeri wrote:
Is there a reason why the python3 version in TW has not updated from 3.8 to 3.9 or 3.10? I'm also wondering what's blocking using 3.9 or 3.10 as main python3 version.
IIRC 3.10 has some changes which turns formerly deprecated stuff into errors. But 3.9 should be possible. FWIW even Debian stable already uses Python 3.9.
Well it seems like 3.9 is being worked on here from a quick glance https://build.opensuse.org/staging_workflows/openSUSE:Factory/staging_projec... -- Simon Lees (Simotek) http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B
On 12/6/21 12:42, Simon Lees wrote:
Well it seems like 3.9 is being worked on here from a quick glance https://build.opensuse.org/staging_workflows/openSUSE:Factory/staging_projec... That's still `primary_interpreter 0`
Greetings, Stephan
On 12/6/21 22:23, Stephan Kulow wrote:
On 12/6/21 12:42, Simon Lees wrote:
Well it seems like 3.9 is being worked on here from a quick glance https://build.opensuse.org/staging_workflows/openSUSE:Factory/staging_projec...
That's still `primary_interpreter 0`
Yes, but I would think we would want to have that working before even trying to change the primary interpreter :-) -- Simon Lees (Simotek) http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B
On Tue, 2021-12-07 at 11:29 +1030, Simon Lees wrote:
On 12/6/21 22:23, Stephan Kulow wrote:
On 12/6/21 12:42, Simon Lees wrote:
Well it seems like 3.9 is being worked on here from a quick glance https://build.opensuse.org/staging_workflows/openSUSE:Factory/staging_projec...
That's still `primary_interpreter 0`
Yes, but I would think we would want to have that working before even trying to change the primary interpreter :-)
We've had python 3.9 and associated modules in TW for quite a long time, just the switch to making 3.9 the primary interpreter never happened. IIRC, the python team wanted to skip 3.9 and go directly 3.10, which was released just about 2 months ago. But with the human resources occupied, this did not have a chance to happen yet. Cheers, Dominique
Am 06.12.21 um 12:42 schrieb Simon Lees:
On 12/6/21 19:22, Michael Ströder wrote:
On 12/6/21 00:50, Joe Salmeri wrote:
Is there a reason why the python3 version in TW has not updated from 3.8 to 3.9 or 3.10? I'm also wondering what's blocking using 3.9 or 3.10 as main python3 version.
IIRC 3.10 has some changes which turns formerly deprecated stuff into errors. But 3.9 should be possible. FWIW even Debian stable already uses Python 3.9. Well it seems like 3.9 is being worked on here from a quick glance https://build.opensuse.org/staging_workflows/openSUSE:Factory/staging_projec...
AFAICT, that's just an update to the python 3.9 interpreter. What Joe is talking about is to switch the primary python3 flavor to python39. This will require to 1. set primary_interpreter to 1 in the specfile for python39 and to 0 in python38 2. adjust the prjconf for Factory -update the `Prefer: .*python.*` lines. -reorder the %pythons macro [1] 3. reflect the prjconf changes in python-rpm-macros [2] This can but does not need to be combined with: 4. Add non-primary python310 flavor support in python-rpm-macros [3]. 5. Add python310 and remove python36 in the %pythons macro in prjconf and python-rpm-macros. I guess it will need a separate staging project where issues with the switch will become apparent and get fixed just as we did when introducing the multiflavor feature last year [4]. I am busy with my dayjob, so I cannot support it with major contributions, but I guess my procrastination habit will make me look at it and contribute a small fix here and there. [1] https://build.opensuse.org/projects/openSUSE:Factory/prjconf Line 1450 [2] https://github.com/openSUSE/python-rpm-macros/blob/master/default-prjconf [3] https://github.com/openSUSE/python-rpm-macros/blob/master/compile-macros.sh#... [4] https://github.com/openSUSE/python-rpm-macros/issues/66 - Ben
Thanks Ben! Is there a schedule that is typically followed for when the primary python is updated to a newer version instead of just the patches for the current version installed? On one of my older TW installs (from years ago), it had Python 2 and Python 3 versions installed but it was unclear to me when/if it would be safe to remove Python 2. All of my python code and the modules I use have worked with Python 3 for years so I didn't need python 2. I did a fresh TW install back in 03/2021 and when I did that install I noticed that it no longer installed Python 2. So I guess what I'm really looking to understand is if there is a general plan as to when new versions are installed or is it more of when the maintainers decide to work on updating it? It seems like I should be able to install 3.9 and 3.10 but leave /usr/bin/python3 pointing to the 3.8 install and that way I could test out my code using 3.9 and/or 3.10 without affecting the primary install. See any problem with that ? Thanks!
Dne 07. 12. 21 v 0:47 Joe Salmeri napsal(a):
Is there a schedule that is typically followed for when the primary python is updated to a newer version instead of just the patches for the current version installed?
No fixed schedule, it is more when we can allocate couple of weeks required for making the switch.
I did a fresh TW install back in 03/2021 and when I did that install I noticed that it no longer installed Python 2.
We are getting pretty close to getting rid of Python 2 completely, it is still unfortunately necessary for building Chromium and because of Gimp (where we will be I am afraid wait on Gimp 3 for some more time).
It seems like I should be able to install 3.9 and 3.10 but leave /usr/bin/python3 pointing to the 3.8 install and that way I could test out my code using 3.9 and/or 3.10 without affecting the primary install.
Yes. I would generally warn against fiddling with /usr/bin/python3 (and certainly against making symlink /usr/bin/python to it, that's a very bad idea). Use explicit versioned shebang or make a new symlink in /usr/local/bin (and then point your shebangs to it). Best, Matěj -- https://matej.ceplovi.cz/blog/, Jabber: mcepl@ceplovi.cz GPG Finger: 3C76 A027 CA45 AD70 98B5 BC1D 7920 5802 880B C9D8 My opinions may have changed, but not the fact that I am right. --Ashleigh Brilliant
On Tue, 7 Dec 2021, Matěj Cepl wrote:
We are getting pretty close to getting rid of Python 2 completely, it is still unfortunately necessary for building Chromium and because of Gimp (where we will be I am afraid wait on Gimp 3 for some more time).
It is used by a few gimp plugins. I'm not sure how necessary they are. I already disabled them for SLE/Leap but left them enabled for TW. -Mike
Dne 06. 12. 21 v 0:50 Joe Salmeri napsal(a):
Is there a reason why the python3 version in TW has not updated from 3.8 to 3.9 or 3.10?
We were working on rather large changes in SLE-15 (e.g., removing Python 2), but we plan to switch on full python310-* packaging (for all Python packages), and making python310 the primary interpreter, but we need week or few to really focus on this and then it will be work for couple of weeks, because there will be large packages which will break, I am afraid.
The TW repositories have had 3.9 for a while and now also have 3.10.
We have python39 as a preliminary release, but we try to make only even releases as the primary interpreters: we had 3.6, 3.8, so we would have 3.10 as the next one.
Is there a schedule as to when TW updates the python3 version? I would have expected it to have been updated by now considering the rolling distribution...
Yes, but we expect LARGE number of packages broken, so we will have to focus on that only for couple of weeks.
Would you recommended against installing 3.10 now and changing /usr/bin/python3 to point to it?
Certainly not, because plenty of packages would break. Plain interpreter (with setuptools and pip) should work well just with unmaintained packages installed into ~/.local/lib*/python3.10/site-packages (or /usr/local/lib*/python3.10/site-packages), but don't touch the system packages. Yet. Best, Matěj -- https://matej.ceplovi.cz/blog/, Jabber: mcepl@ceplovi.cz GPG Finger: 3C76 A027 CA45 AD70 98B5 BC1D 7920 5802 880B C9D8 Youth is happy because it has the capacity to see beauty. Anyone who keeps the ability to see beauty never grows old. -- Franz Kafka
Hello! On 12/6/21 15:07, Matěj Cepl wrote:
Dne 06. 12. 21 v 0:50 Joe Salmeri napsal(a):
Is there a reason why the python3 version in TW has not updated from 3.8 to 3.9 or 3.10?
We were working on rather large changes in SLE-15 (e.g., removing Python 2), but we plan to switch on full python310-* packaging (for all Python packages), and making python310 the primary interpreter, but we need week or few to really focus on this and then it will be work for couple of weeks, because there will be large packages which will break, I am afraid.
FWIW, the Python3.10 transition is already ongoing in Debian unstable and it seems most packages build fine, with some exceptions:
https://buildd.debian.org/status/package.php?p=numpy&suite=sid
Let me know if I can be of any help. Adrian
Matěj Cepl, Thanks very much for your detailed reply, it is good to hear work is being done to move to 3.10. Would there be any issues installing 3.10 to test out my code and leave /usr/bin/python3 pointing to 3.8 or should I just wait for 3.10 to become the primary? Thanks!
On 07.12.21 0:50, "Joe Salmeri" <jmscdba@gmail.com> wrote:
Would there be any issues installing 3.10 to test out my code and leave /usr/bin/python3 pointing to 3.8 or should I just wait for 3.10 to become the primary?
If you don't need any libraries outside of the standard library (or if you have them installed in ~/.local/lib/python3.10/site-packages or /usr/local/lib/python3.10/site-packages) then everything should work with shebang `#!/usr/bin/python3.10`. Best, Matj
I have a few that are outside the standard library but I try to stick to it as much as possible to avoid waiting for 3rd party modules to update. I will check out the few I am using and then may try installing 3.10 on a TW VM to test out my code. Good luck with the migration.
participants (10)
-
Ben Greiner
-
Dominique Leuenberger / DimStar
-
Joe Salmeri
-
John Paul Adrian Glaubitz
-
Matěj Cepl
-
mcepl@cepl.eu
-
Michael Ströder
-
Mike Gorse
-
Simon Lees
-
Stephan Kulow