Live data from Hacker News

Removing Python 2.x support from Django for version 2.0

github.com

141–150 of 413 posts

Re: Removing Python 2.x support from Django for version 2.0

#141

Says who?? Someone with delusions of grandeur, obviously. Because that's not up to anyone to say. Python 2 is obviously NOT going away any time soon. You can't just look at reality and claim the opposite just because it pleases you. Python 2 is here to stay and is in MUCH better shape than Python 3, in terms of actual production usage globally. Python 3 is a bad joke that someone wants to force down people's throats…

Says the Python maintainers? And it is completely up to them to say - http://legacy.python.org/dev/peps/pep-0373/#update

Of course you can continue using Python 2.x after 2020 but you will receive no security/bug fixes.

Re: Removing Python 2.x support from Django for version 2.0

#142
post #17
post #6

This call has been made a while back, and it makes perfect sense. Python 2 is slowly being EOL'd and if you're starting a brand new Django project there's no reason on earth you should choose Python 2 anymore. Sure legacy projects still need support and for that they get the 1.11 LTS, but otherwise it's really time to move on.

Easy to say when you don't depend on C extensions only compatible with 2.7.

How many are still at that stage?

Re: Removing Python 2.x support from Django for version 2.0

#143

Says who?? Someone with delusions of grandeur, obviously. Because that's not up to anyone to say. Python 2 is obviously NOT going away any time soon. You can't just look at reality and claim the opposite just because it pleases you. Python 2 is here to stay and is in MUCH better shape than Python 3, in terms of actual production usage globally. Python 3 is a bad joke that someone wants to force down people's throats…

Says the Python maintainers? And it is completely up to them to say - http://legacy.python.org/dev/peps/pep-0373/#update Of course you can continue using Python 2.x after 2020 but you will receive no security/bug fixes.

> you will receive no security/bug fixes.

Or you'd better be prepared to write your own.

Re: Removing Python 2.x support from Django for version 2.0

#145

Good. I've been getting into python a bit because i have an interest in datascience. I'm mostly a Java dev. I have to say the python2/3 divide is a real turn off. Many of the science libs want to use seem to be in 2.7 with no signs of moving.

I am data scientist who uses both pythons and the only lib I had issues with was the first release of tensorflow (and that was fixed very soon). Otherwise I find it hard to believe that there exist any maintained libraries that do not support both versions.

Re: Removing Python 2.x support from Django for version 2.0

#146

Earlier quoted context omitted.

When you say "Django is not RoR", are you saying Django doesn't break backwards compatibility but Ruby on Rails does? If so, I have to very strongly disagree. It's almost mind boggling to me how much they break backwards compatibility as a framework. They usually warn users with a deprecation warning in one version and then they make the backwards incompatible change in the next version, but the sheer amount of these…

> warn users with a deprecation warning in one version and then they make the backwards incompatible change in the next version That's exactly how _not_ to break backwards compatibility.

That is, by definition, breaking backwards compatibility. I.e., the code that I wrote against version X will not run against version X + n. They just give a warning about it in version X + (n - 1). Backwards compatibility means that my code will run against X + n for all values of n >= 0 without modifications.

Re: Removing Python 2.x support from Django for version 2.0

#147

Earlier quoted context omitted.

Which libraries do you have in mind? Numpy, SciPy, Pandas and packages based off them all support Python 3.

It believe it was a digital signal processing library. I don't recall the name.

You used the word "many"...

Re: Removing Python 2.x support from Django for version 2.0

#148
post #77

Earlier quoted context omitted.

If everything fine with Python 2 on the current project, why bother to upgrade Django 2.0 which will break the compatibility?

Right, that's more or less my question. (I'm not actually using Django though.)

My feeling is that you want to be using dependencies that are actively being maintained. These probably already support py3 - or there's a newer / maintained alternative available.

What's annoying is discovering that it's a struggle to upgrade to a newer OS because you're using some old python dependency that has some C component linking to some library that you're going to spend a week getting working (and then have to continue to maintain).

It sounds like you might not have too much trouble upgrading anyway. The strings and missing libs are the places most people get caught out and it sounds like you're already handling the worst of those.

If I were you, I'd try switching to python3 and see what breaks. When I did it, it took about a day to get up and running again on a reasonably complex project (numpy, scipy etc). One of the main things I ran into was places where python3 had swapped lists to generators etc (eg, some_dict.keys()[0] no longer works).

Re: Removing Python 2.x support from Django for version 2.0

#149
post #57

Earlier quoted context omitted.

> if we got to Python 3 through progressive deprecation and evolution via python 2.8 and 2.9, we wouldn't be where we are now. You mean exactly like Django's progressive deprecation and evolution that you're complaining about in your parent post?

No, he means language level progressive deprecation and evolution, as opposed to an abrupt jump to a changed 3 from 2.

You talk as if Python 3 were a dialect of Lisp. It's still Python, looks like Python and feels like Python. In fact, I think most of my Python 3 code runs on Python 2.

Re: Removing Python 2.x support from Django for version 2.0

#150

Earlier quoted context omitted.

Please, don't tell me how "Python3 is good" - I know everything. I just still don't approve the way the transition was made - if we got to Python 3 through progressive deprecation and evolution via python 2.8 and 2.9, we wouldn't be where we are now.

Or if they had called Python 3 a different name, and let both branches evolve freely and compete.

Python 3 is the evolution of Python 2.
Post reply on HN