Live data from Hacker News

Removing Python 2.x support from Django for version 2.0

github.com

211–220 of 413 posts

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

#211
post #21
post #5

The next release, Django 1.11, will be a long-term support release, and the one after that, Django 2.0, will no longer support Python 2. https://www.djangoproject.com/weblog/2015/jun/25/roadmap/ I've grow to highly respect the Django project for its good documentation, its healthy consideration for backwards compatibility, security, steady improvements and all round goodness.

Interestingly, I have the exact opposite view on Django. I hate their API and overall architecture, which I find to be the result of glueing features on top of features for many years. The internal code also is just like that: looks like every single method is riddled with out-of-band conditionals, which is the result of a community that prefers to hack things to work, instead of rethinking/refactoring.

I'd say if you hate it, you should propose the changes and how to refactor. There's only so much people can do and they certainly will benefit from first-time contributors who may have fresh ideas. Otherwise this is just plain complain and nothing else.

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

#212
post #55
post #34

Earlier quoted context omitted.

> I am also almost 100% certain that if scientific programmers leave Python, the language will stall, and the current 3.x pushers are dangerously looking a gift horse in the mouth. This sounds like such similar sour grapes to the systemd escapades. Huge initial outroar as certain things happened, followed by a gradual diminishing, then [mostly] acceptance. This is what is happening with Python 3 and a smaller, doom-a…

> This sounds like such similar sour grapes to the systemd escapades. Huge initial outroar as certain things happened, followed by a gradual diminishing, then [mostly] acceptance. Only here we don't have mere service scripts, but millions of lines of code people have written in perfectly fine 2.x Python. And also here we don't have any significant uptake -- Python 2.x is still over 60% of what's used (according to Py…

PyPI stats are massively inflated by automated deployments, and anyway even them show a clear rising trend for 3. Also, 3.4+ (from 2014) is a very different beast from 3.0, and it's probably not a coincidence that porting significantly accelerated after its release (about 3 years ago).

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

#213

Earlier quoted context omitted.

> If you just had an issue with their content, you could have said so I did. I did not think I needed an argument to ask you to stop bringing such an incredibly negative attitude to the table. > You don't know what I've paid I was referring to Django, to be clear. And whatever you've paid, it's in donations -- that's great! But if you want to see support, you'll need to directly pay people to maintain that support. I…

> But if you want to see support, you'll need to directly pay people to maintain that support You originally said: > making money using a project you're not paying for No mention of support, just "shitting on the efforts of" (IYHO), So it seems you are moving the goalposts.

I didn't move the goalposts? I reworded what I previously expressed. If you want to see support, you can pay people to provide that support. Free support ends in 2020.

If you're not paying for it and you are making money off it, I don't see this attitude as being okay. You can ask. You can also be told no!

Python 2 advocates like to bring up the PyPI download numbers as some kind of "reality". But here is the reality: The PSF, governing body for the Python project, has decided years ago that Python 3 will EOL in 2020. It has given ample heads up for everybody to migrate.

Years. That's the reality. This decision didn't come out of nowhere. Don't expect a yes.

Edit: I am wasting my time replying to you.

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

#214

Earlier quoted context omitted.

>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. Except that there are still some critical packages that aren't on Python 3 yet. Not to mention a lot of functionality breaks even if the libraries do exist, which means you have to code things up quite differently sometimes.

What critical packages still need to be ported to Python 3? Might be a fun project if they're open source.

IDAPython (the python scripting plugin included with IDA Pro) still only supports Python 2.7.

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

#215

Earlier quoted context omitted.

I disagree with the parent post; Django's codebase is overall pretty high quality. It definitely used not to be that way, though. But there are components that fit that. The entire form subsystem is awful to work with. Working with Javascript, webpack apps etc is a huge pain. The template syntax is also a failed design experiment, based on the premise that backend coders and template authors are not the same people a…

Django added Jinja2 as a built-in template backend some versions ago. The Django ecosystem hasn't really caught up to supporting it with reusable templates yet though.

Yeah I mentioned that. I don't think it can ever really work the way it's implemented right now. I think the only way it can work is slowly transitioning the Django template language to be syntactically similar to Jinja, that will give a progressive transition path. But it's a ton of work.

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

#216
post #34

Earlier quoted context omitted.

> I am also almost 100% certain that if scientific programmers leave Python, the language will stall, and the current 3.x pushers are dangerously looking a gift horse in the mouth. This sounds like such similar sour grapes to the systemd escapades. Huge initial outroar as certain things happened, followed by a gradual diminishing, then [mostly] acceptance. This is what is happening with Python 3 and a smaller, doom-a…

Except that personally I see the benefit of Systemd every time I boot my linux computer. It just works, fast, and clean. I don't partake in the philosophical arguments. I just want it to work. Py3 by contrast, simply throws cruft curveballs at me. No tangible benefit. This is not a systemd-style issue. And yes Python will likely continue massively to be used in the sciences, 3 bears like me notwithstanding, so it wou…

> core base of users

Lol. Before Numpy and friends even existed, Python was used mostly by "the web people" and sysadmins. Scientists are one of a number of Python constituencies, and not even the best-paying nor most visible one.

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

#217
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.

>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. Except that there are still some critical packages that aren't on Python 3 yet. Not to mention a lot of functionality breaks even if the libraries do exist, which means you have to code things up quite differently sometimes.

That argument has grown stale. If the devs of your favorite package are still too lazy to port to Py3 there are bigger issues with the existing code you should be concerned about. 2to3 fixes most everything other than a few incompatible changes to the stdlib API.

http://py3readiness.org/

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

#218

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.

How should you break backwards compatibility then? This is about as good a solution I can come up with.

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

#219

Earlier quoted context omitted.

> But if you want to see support, you'll need to directly pay people to maintain that support You originally said: > making money using a project you're not paying for No mention of support, just "shitting on the efforts of" (IYHO), So it seems you are moving the goalposts.

I didn't move the goalposts? I reworded what I previously expressed. If you want to see support, you can pay people to provide that support. Free support ends in 2020. If you're not paying for it and you are making money off it, I don't see this attitude as being okay. You can ask. You can also be told no! Python 2 advocates like to bring up the PyPI download numbers as some kind of "reality". But here is the reality…

> Unlike yours, none of my comments are shitting on the efforts of volunteers that are doing their best to keep people like you happy and making money using a project you're not paying for

This was the line I responded to, and it has nothing to do with support, but with the ability to criticise something you aren't paying for. You introduced the idea that something was being "demanded" so that you could beat up that strawman.

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

#220
post #195
post #166

Earlier quoted context omitted.

Have you tried python3-pykde4? It seems to contain a pykdeuic4.py file.

No - but you've set me on the right track, there looks to be a pykdeuic4-3.4 executable (I had assumed if there were anything like that it would be a case of update-alternatives, but apparently not?). Will try that when I get home.

In general, I've found that Ubuntu versions of the last 1-2 years support Python 3 fine, you just have to use the "python3-*" packages.
Post reply on HN