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.
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.
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).
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.
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.
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.
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.