Live data from Hacker News

Removing Python 2.x support from Django for version 2.0

github.com

171–180 of 413 posts

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

#171
post #158
post #50

Earlier quoted context omitted.

> Besides speed, I never seen any good argument that would make me start a new project on 2.7, rather than the latest v3 release. That's because you start "new projects". Some of us have 10+ years of codebases to maintain, and we don't care for Python 3 features...

Python 3.0 was released in 2008. Python 2 will EOL in 2020. You've had about 9 years to start the transition to 3.0, and you still have 3 more years before EOL. A 12-year upgrade window sounds pretty reasonable.

>You've had about 9 years to start the transition to 3.0, and you still have 3 more years before EOL.

Most of those years library support was non-existent or lacking. And still today the majority uses Python 2.x (Pypi stats).

So it's not like the migration was some great success since the start, and all those years were just wasted by some minority not migrating.

In the end, it's not a discussion on HN or what the "BDFL" says about an official EOL that will settle the matter, but actual adoption in the field. But in addition to the low adoption rate, we've even seen people leave Python for Go and Node/JS.

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

#172

Earlier quoted context omitted.

Yeah no. I know that there are domains that are mostly on Python 2, and of course you'll always have legacy / unmaintained things lying around. But "zeee majoritie is Python 2.7!!1111" does not become true by some people chanting it over and over again. The simple fact that frameworks and libraries are moving away from Python 2 already proves that the majority does, in fact, not use Python 2. Otherwise maintainers wo…

> But "zeee majoritie is Python 2.7!!1111" does not become true by some people chanting it over and over again. Maybe check your language a little? "zee majoritie", "chanting it over and over" etc, gets tired and offensive soon. That aside, there are actual numbers for Pypi supporting that. What do you have to counter these? > The simple fact that frameworks and libraries are moving away from Python 2 already proves…

> there are actual numbers for Pypi supporting that. What do you have to counter these?

99% of Pypi traffic is composed of mirrors and bots. Python 3 toolchains are more likely to use tools like devpi, wheel, and Docker to cache their packages, while Python 2 toolchains are often going to hit Pypi directly.

We're concerned about which version has the majority of users, not about which has more downloads on Pypi.

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

#173

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 do a lot of data science/ML work and it is almost exclusively done with Python3 so I'm not sure what libraries you are referring to as I haven't had any issues.

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

#174

Earlier quoted context omitted.

> Oh my god stop. You're all over this thread. What bit you? As someone who has 6 comments in this thread yourself, I don't think you are in position to complaint. I also find "what bit you" and "please stop" rude. You don't get to dictate what others opinion should be. > This is the price you pay for staying on an old version. You do not get to stick to an old version AND demand that others do too. 7+ years on and t…

> As someone who has 6 comments in this thread yourself, I don't think you are in position to complaint. This isn't a numbers contest. 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. > So maybe you want to recheck with reality whether the transition was a success instead of argui…

>This isn't a numbers contest.

And yet you complained about my many comments. If you just had an issue with their content, you could have said so instead of that, and with specific arguments not just "stop" and "lalala hands in the ears, I don't want to hear you".

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

You don't know what I've paid or what I've donated to the PSF since 1998 that I've been using the language, or what the companies I've worked for have done for Python. So it's not your business to talk about me personally as I've not talked about you. Can you stop being rude and ad hominem?

(And of course, any user who has evangelized, worked with, and devoted time to a language pays the opportunity cost, whether he pays for its development directly or not).

The community of a language's users can, and do, have an opinion on its progress and the changes that happen to it, whether it goes against the ideas of the volunteers working on it, or not (and it's not all volunteers, a lot of programmers are paid by corporations to work on OSS projects, including Guido who was paid by Google and now Dropbox, and that way companies often get a say on the direction a project takes).

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

#175
post #161
post #139

Earlier quoted context omitted.

Pyramid is great, but for years they had a ridiculous Iron Maiden- heavy metal like branding [0] which make it hard to sell it in the corporate world. I'm glad they evolved on this point. [0] http://keitheis.github.io/use-pyramid-like-a-pro/?full#Cover

Not gonna lie, that cover(?)/artwork(?) looks pretty sweet. But I'm probably biased because I really like Iron Maiden.

[deleted]

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

#176
post #139
post #126

Earlier quoted context omitted.

I would bet my horse on https://trypyramid.com/ when it comes to API consistency, I've updated my applications from 0.9 to 1.7 and that was a breeze. Over the years it was exceptionally great experience.

Pyramid is great, but for years they had a ridiculous Iron Maiden- heavy metal like branding [0] which make it hard to sell it in the corporate world. I'm glad they evolved on this point. [0] http://keitheis.github.io/use-pyramid-like-a-pro/?full#Cover

I agree, but you know what; I think the new branding is worse :(

It's a shame, because I've wanted to try Pyramid since I watched their talk at PyCon 2011, but the branding (including the new 99 Designs looking logo / theme) has always made me think, "This will never really take off."

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

#177

Seriously? The entire change to "unsupport" the majority of Python code is a mass delete of from __future__ import unicode_literals and utf-8 encoding? Is that really the extent of the "too difficult to maintain" code? There will be a split.

Just one step. https://code.djangoproject.com/ticket/23919

Gotcha. Thanks for the clarification (actually 2 of those steps). This is a great reference.

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

#178
post #126

Earlier quoted context omitted.

I'd prefer to hold judgement on the internals of Django, however as a developer using the API, I also think it's a pleasure to use. There is a very high level of consistency, similar patterns used throughout, and the architecture results in a project structure that I can explain to a new developer who has never used Django before in minutes. I find few frameworks really scale in terms of structure and consistency, an…

I would bet my horse on https://trypyramid.com/ when it comes to API consistency, I've updated my applications from 0.9 to 1.7 and that was a breeze. Over the years it was exceptionally great experience.

WebSauna looks promising: https://websauna.org/docs/narrative/background/intro.html

Offers Django feature parity with best of breed components.

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

#179
post #31
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.

> its healthy consideration for backwards compatibility Like screwing the huge majority of users with Python 2.x Django projects and having them update or be left behind?

they aren't screwing anyone, if you want to stay on an outdated version of a language that won't be receiving updates you can do the same with Django.

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

#180
post #42

Earlier quoted context omitted.

You're calling code that depends on C extensions from directly inside the request-response cycle? One possible solution would be to offload this work into a celery worker which can call python2 as necessary.

I code against both Django and Tornado. My Tornado based HTTP servers call C extension while they're handling GETs and POSTs. And that's why I'm staying on 2.7.8 until a customer pays me to port to 3.

I'm curious why 2.7.8? What is preventing you from using 2.7.9+?
Post reply on HN