Hacker News new | ask | show | jobs
by oblio 3169 days ago
> Python 2 is no longer installed by default. Python 3 has been updated to 3.6.

And so it begins. I think/hope that the next RHEL will do the same thing, at which point the final nail will be in Py2's coffin.

4 comments

I love, love, love python. I am probably irrational in my affection for the language. But it's python3 that I know and will work in python2 if needed but I think python2 needs to die a quick death.
No kind of death at this point would be considered quick for python2
I've been looking forward to Python 4 for a long time now.
Has there been anything posted about it? I'd be interested to read up on it.
It’s just going to be one after 3.9. Nothing special.

https://developers.redhat.com/blog/2014/09/17/why-python-4-0...

Why specifically 3.9?
If they're going to do that, they may as well just drop the dot.
I have heard no one even mention what it might be like. I'm just thinking that I liked the change from Python 2 to Python 3, so I'm hoping for more things to enjoy. :-)
I have been using python2 for veey long time and a lot of software that I've written is made with it and is providing consistingly value to me. I have no idea why these people want to kill the technology that has brought so much value and joy to my life.

If you like python3, great for you. But why do you want to kill python2 if other people are happy with it?

Tough question but a good portion likely has to do with the divisiveness of the ecosystem. A bit selfish of the 3’ers but the utilitarian viewpoint is that if everyone comes to the same ecosystem then everyone can benefit.

I offer no opinion whatsoever on which is better, only that it’s probably better for everyone if dev efforts are not split between two versions of the same language.

It's end-of-life (pretty much anyway). Time to port your software if it's used by anyone more than yourself or open source it. It needs to die like dos and 16bit compatibility in windows needs to die.
> you like python3, great for you. But why do you want to kill python2 if other people are happy with it?

You can make the same argument for any software suite which moves over time. Why should Firefox 10 die, just because Firefox 57 is out in a month or so?

Well.. Duh. The new code has to live somewhere, and we don't want to spend eternity backporting fixes to the old codebase.

Please do note: You can still use Python 2 if you like. But if you rely on really old and antiquated technology, you can't expected modern OSes to ship it by default. Now it becomes your liability to instruct your users in how to obtain your antiquated dependencies for your software to work.

Maybe that is a good enough solution, or maybe some day you will find that it's more beneficial to move along with the rest of the ecosystem.

Nobody writes new code in Python 2 any more. It's the programming language equivalent of Windows XP at this point.

Fabric is still not supporting py3, it's important tool for a lot of admins.
There's a maintained Fabric fork [0] for Python 3, it is basically a drop-in and available via pip.

[0] https://github.com/mathiasertl/fabric/

In addition, fabric 2 is making progress.
To be clear, you can still install Python 2 the usual way. The only thing that's changing is that it's not installed by default (and by extension, that none of the base system depends on it).
Yeah, that's one of the only things I still use Python2 for.

But it seems that they have a v2 in the works that's supposed to support Python3: https://github.com/fabric/fabric/tree/v2

And there's also a fork: https://pypi.python.org/pypi/Fabric3

Plenty of things don't have python 3 support, but you can still use python2 without it being /usr/bin/python.
There is no /usr/bin/python in the default Ubuntu install. There's a /usr/bin/python3, and if you `apt install python` you can get /usr/bin/python. But all of the system's code that uses Python has been converted to Python 3.
I doubt very much Ubuntu has made python3 /usr/bin/python, since the official recommendation of the Python project is to not do that.

Still true of course that it doesn't have to be installed by default even if some applications still need it.

> I doubt very much Ubuntu has made python3 /usr/bin/python, since the official recommendation of the Python project is to not do that.

Tell that to Arch. :(

I know. If I remember right, Arch did it before the Python project published any official guidance/Arch triggered one being released.
Fabric is reacting to what the most conservative group or Linux users (sysadmins for RHEL) are asking for. That's why RHEL moving to Python 3 would be the last push needed.
> Fabric is reacting to what the most conservative group or Linux users (sysadmins for RHEL) are asking for.

I'm not familiar with the details, but does this mean that they're resisting patches to support 3.x? Given the existence of a fork it seems likely. It's not-at-all difficult to write a single Python package that works on both 2.7 and 3.x. Especially if you are willing to use `six`.

I'll admit that it's a little harder to stay compatible with earlier-than-2.7, though.

Ah, now I remember.

I think the actual argument against Py3-compatibility is exactly that: Fabric needs to support 2.6 because it is the default in RHEL/SLES versions which are still quite popular in enterprise environments and maintaining compatibility with both Py 2.6 and Py 3 is quite difficult, as you said.

So we'll get it in 2024?
There is overlap between RHEL release support periods, from what I see it's about 3-4 years on average. So 2021? :)
I can't wait for people to stop expecting that putting #!/usr/bin/env python at the top of their scripts will lead to python2 being used.
Currently on most distorts you’ll get an error. You’ll need to use python3 explicitally for now.
Considering RHEL 7 doesn’t even have Python 3 available in the core packages, I bet RHEL 8 will at least have Python 2 available as a package, just not installed by default.

I would be surprised if they didn’t give any overlap between 2 and 3 in RHEL 8.