I just want to recap what I'm hearing. After listening to the arguments, it doesn't sound like many seasoned developers/Django users would need the 3.5 support to remain for development purposes. Therefore, their needs don't seem to need to be considered. Larger organizations may have issues with Enterprise/LTS Linux distros not having that version of Python by default for deploying. This is not a top concern, but it is at least a slight concern. Beginning and unseasoned Django users can be easily confused by choices. This has been the focus of much of this discussion. This seems to be a pretty major concern. Is there a way that we deal with this? I have some suggestions below.
I am not sure that that last issue can be as easily solved by technical solutions as much as social/documentation solutions. Therefore, I'm going to point out some things that I'm noticing. First, the main Django webpage only mentions the very latest release. I think that this should be updated to more prominently show the latest LTS release. It should also show all currently supported releases underneath it. Secondly, should we be suggesting that beginners stick to the latest LTS version? I think this makes sense as there should be better documentation and people will not have to deal as much with just general churn. This leads into "how would a beginner get the latest LTS version?" Let's assume they understand pip. Is there a way for them to get pinned to the latest Django LTS release? Should Django have a package in pypi named django-lts that is just a dummy package that has a dependency of django>=1.11.0,<2.0? Would this break on a pip update that would update all packages? I'm trying to think of any scenarios where someone could jump off an LTS accidentally without doing something completely wrong. Thirdly, if we do push people towards the LTS releases, should docs.djangoproject.com default to the latest LTS version instead of the latest release (whether LTS or not)? Fourthly, I think the documentation should more clearly state what version of Python it supports. I'm looking at the 2.1 documentation (current thing a beginner would see), and I don't see it. It's not on the first half of the main page, nor the install instructions. I do see a suggestion for "lastest version" (which may not be supported yet if right after a new Python release -- too new) or "use OS's package manager (which we just stated would not be new enough if using a more stable distro -- too old). That ends my thoughts on the unseasoned Django user, but I had a potential concern that I hadn't heard brought up. Is there any added effort as far as deploying to a non-system version of Python? I have an odd deployment on Dreamhost that uses passenger to deploy my Django apps. I have to do a weird passenger_wsgi.py file as mentioned in https://help.dreamhost.com/hc/en-us/articles/360002341572-How-to-create-a-Django-2-project-using-virtualenv that changes the Python interpreter on the fly. Does that affect something like mod_wsgi, uwsgi, gunicorn, or some other wsgi runner? I mean if it would come down to recompiling Apache or some such, that would put a fair amount of burden on someone to deploy. If it stays generally separate then it's fine. Assuming the deployment issue is "only in rare/corner cases" or less, I think the grand majority of the concerns could be fixed through documentation and website updates. On Fri, Jan 25, 2019 at 9:04 AM Tim Graham <timogra...@gmail.com> wrote: > Can you explain more about what they struggled with? Maybe there's other > ways to solve those problems. > > On Friday, January 25, 2019 at 9:43:37 AM UTC-5, Tom Forbes wrote: >> >> This message really resonated with me, especially after helping a few >> beginners get started with Python and watching them struggle with exactly >> this kind of thing. >> >> I'd be +1 on following Python. Looking through the diff there is not a >> huge amount of things to remove and IMO none of them are really holding us >> back or all that serious. We've fixed some issues with mangling cached >> property names, some workarounds for ModuleNotFoundError/ImportError and an >> issue with sqlite3 on 3.5. >> >> On 24 January 2019 at 20:33:42, Carlton Gibson (carlton...@gmail.com) >> wrote: >> >> To be honest, I'm surprised there's even one person who comes within a >> 1000 miles of this list who's using Python 3.5. :) >> >> My reason for thinking we should follow Python's supported versions is >> users, and particularly beginning users, who have got they-don't-know >> version and find a tutorial just what... no sorry need... `pip3 install >> Django` to work, and give them the version of Django that corresponds to >> what they see when they visit docs.djangoproject.com. >> >> I don't agree this is theoretical at all. >> >> It's not just Debian. (Which doesn't fit my mental model here really...) >> >> It's all those few-years-old computers out there. >> >> It's for example Raspbian, which as of this month is still shipping >> Python 3.5. >> >> So my boy, who's 10, says, >> >> - What would you use? >> - Well I'd use Django (obviously) >> - Can I use that? >> - Yeah... >> >> If we do drop Python 3.5 I have to say, "Well, no. But you can use this >> old one." That's not as cool. >> But there will be people who are more seriously affected. >> >> > Who is saying, "I want to use the latest version of Django, but I want >> to use a really old version of Python." >> >> No one is saying this. The notion of versions doesn't come into it. We're >> well beyond the barrier-to-entry before we get there. >> I (just my opinion on this) think we mistake our audience if we forget >> this. >> (For this reason I don't think the deployment issue is the relevant one. >> It's about people learning to programme, not professionals.) >> >> We can't support everything forever, and I'm as keen as anyone to push >> forward, but following Python is (for me) the thing we should do. >> I think Django's position in the Python eco-system requires it. >> >> Of course if we don't, things are easier for us, yes. >> >> Again, just my opinion. >> C. >> -- >> You received this message because you are subscribed to the Google Groups >> "Django developers (Contributions to Django itself)" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to django-develop...@googlegroups.com. >> To post to this group, send email to django-d...@googlegroups.com. >> Visit this group at https://groups.google.com/group/django-developers. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-developers/19e099cf-6087-4efd-9138-d338f12bbf2c%40googlegroups.com >> <https://groups.google.com/d/msgid/django-developers/19e099cf-6087-4efd-9138-d338f12bbf2c%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> >> -- > You received this message because you are subscribed to the Google Groups > "Django developers (Contributions to Django itself)" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to django-developers+unsubscr...@googlegroups.com. > To post to this group, send email to django-developers@googlegroups.com. > Visit this group at https://groups.google.com/group/django-developers. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-developers/c25bb851-f334-48d4-bdd4-470c0ff10e2c%40googlegroups.com > <https://groups.google.com/d/msgid/django-developers/c25bb851-f334-48d4-bdd4-470c0ff10e2c%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- Joe Tennies tenn...@gmail.com -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at https://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CACiOJ6sbkajr9_P%3D5kG32sHrE7p3GKmmd_4%2BW%3D-ByDvb-FzOEQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.