5 ms·
So, I'll ask the noob question that has previously been getting asked to death but there's finally new reason to ask once more: someone who's had little to no
by lcc_tn 14y ago
So, I'll ask the noob question that has previously been getting asked to death but there's finally new reason to ask once more: someone who's had little to no prior experience with Django, and still is very much a novice with Python -- do you suggest they start using Django with Python 3 or 2?
- ttruett 14y agoThe tipping point is getting closer but I would still recommend Python 2.X for the time being, primarily for third party support.
- dmishe 14y agoI would say 2 because every package out there works with it, not the case with 3 still. So it will be easier for you to follow docs and tutorials. Plus, 2 is not going away in near future, and you'll be able to pick up 3 easily after that
- pydanny 14y agoPython 3 support in Django 1.5 is experimental. I would wait until Django 1.6 is launched or there are well-known, well-working examples of Python 3 implementations of Django on high traffic sites.
- jacobian 14y agoFWIW, that "experimental" label doesn't quite mean that 1.5 isn't ready for prime-time; it's more about setting community expectations. Please see my reply elsewhere in this thread (https://news.ycombinator.com/item?id=5289006 https://news.ycombinator.com/item?id=5289006) for more details. ETA: That said, the advice to stick to Py2 right now is probably good. There's still some key missing 3rd party packages, so you'll generally be happier as a Py2 user right now.
- pydanny 14y agoAlas, I replied before your post. I agree with you completely. I'm really looking forward to migrating a few projects up to Python 3 and Django 1.5. It's going to be awesome!
- raverbashing 14y agoPython 2 I really, really wanted to say to you Python 3, because: - It is better (it fixes some annoyances) - Django is working really great with it But some things (that Django uses, but are not Django) are not working yet. Things like MySQL adaptors, South, etc Or maybe go with Python 3 and wait for the issues to be fixed, they probably will, soon enough
- whichdan 14y agoAre packages not updating because it's a lot of work, or because updating will break backwards-compatibility?
- raverbashing 14y agoA little bit of both There are ways to write software that's compatible with both Python 2 and 3 (using six for example: http://pythonhosted.org/six/ http://pythonhosted.org/six/) But I guess it's mostly developers not having the time to update (it's easier if you kept it updated and not using some old constructs)
- billforsternz 14y agoThe Python 2 v 3 conundrum seems to have been going on for an eternity. It must be putting off new adopters in their droves. For a start, you have to make an important decision about which flavor to install and how to get started right at the beginning, with no canonical right answer to the dilemma. Do the great and the good in the Python community realize how damaging this is, and how such a thing should never ever be allowed to happen again ?
- pekk 14y agoHow do you propose this be implemented? By abandoning Python 3, or shooting the dissenters who still insist on Python 2?
- billforsternz 14y ago
- baq 14y agoi'd say that if you want to learn python, go with 3. if you want to build something on third party libraries while learning python at the same time, start with 2.
- speg 14y agoI have been running Django 1.5 on Python 3.3 since 1.5c1 - ran into zero problems. It is solid... but... a lot of packages are not ready for 3 yet. So it depends how far you want to go.. Playing around by yourself? I'd go with Python 3... if you need to leverage a lot of the packages you'll need to drop down to 2.7