Great news. The two biggest hurdles for Python3 adoption were/are Numpy/Scipy and Django. Now that Numpy/Scipy both officially support Python 3.x[1] and with Django coming soon, I expect a lot of people will make the transition to Python3.x for new projects.<p>1. <a href="http://scipy.github.com/faq.html#do-numpy-and-scipy-support-python-3-x" rel="nofollow">http://scipy.github.com/faq.html#do-numpy-and-scipy-support-...</a>
I think it's crazy that they are only now talking about dropping support for Python 2.4 which came out in 2004 and has been replaced by Python 2.5 in 2006.<p>So only now they are moving from depending on 8 years old technology to depending on 6 years old technology.<p>The reason for this is probably the proliferation of really old versions in the default installation of still supported OSes like RHEL. Worse: Due to the fact that these distros largely depend on the Python installation they came with, it's likely that admins are reluctant to touch anything python related on the system.<p>Compare this to ruby/rails where the common practice is to treat system ruby as a hands-off thing: Usually, the deployment payload just includes its own ruby (using rvm or rbenv). This allows for much less conservative minimum requirements.<p>Being forced to constantly target way outdated software during development is really annoying and kills motivation as you are always reminded that if only you could update, you would be spared re-implementing feature x or you could use much more expressive code while implementing feature y.<p>And don't get me started on PH-4.x is good enough-P.
Here is a Python3 packages listing on PyPI: <a href="http://pypi.python.org/pypi?:action=browse&c=533&show=all" rel="nofollow">http://pypi.python.org/pypi?:action=browse&c=533&sho...</a>
There's some interesting stuff for web developers in there: Pyramid, Bottle, SQLAlchemy, pymongo3, Mako, Jinja2, nose, etc. It seems that the whole web development stack is pretty much covered. Although it's not listed there, Tornado should also run on Python3. I considered starting my new project with Python3 but eventually sticked with Django because of the time-saving reusable apps available, but it's interesting to note that building web apps with Python3 should already be feasible.
Maybe I spent way too long at PyCon but I'm getting very weary of hearing about Python 3. Why is anyone surprised, or cheered, or dismayed, or excited, that one of the flagship Python projects will eventually be moving to Python 3 (experimental!) compatibility?<p>This is a sincere question by the way, just tempered by post-PyCon weariness.
Discussing Django/Python on HN isn't easy—slightest criticism leads to immediate downvoting, outfaded comments and lowered karma. People either avoid strong opinions or just stay away from Django/Python threads. So, it's very hard to get an good understanding and unbiased opinions on various web framework compared to Django.
I'm sorry for the noob question, but how much additional performance/functionality/flexibility could be gained by moving to Python 3?<p>Maybe my standards are too low since I am using Django as a vehicle to learn programming and web-development as a hobby right now, but as far as I can tell the Python/Django environment seems to work exceptionally well meeting, and even exceeding, its intended objective (The web framework for perfectionists with deadlines)<p>It seems a lot of people have this child-like concept of time where a few months is a "long time" and upgrading to the latest and/or greatest thing is so much of a priority that they are regarding it as a "fix". But as far as I can tell nothing is broken by having Django run on 2.x. If a bicycle works really, really well; is replacing the chain a top priority?
I don't understand these guys (and girls?). The language sounds like Oracle or SAP talking about migrating WalMart to a new inventory management system. If "porting code is relatively straightforward" it would be a good idea to get that port done and let people decide for themselves when to use the new version.<p>I don't understand what makes phraseology like this useful to anyone but a corporate lawyer: "the Django project is and will remain committed to achieving Python 3 compatibility"<p>Yes, I know, I'm not supposed to talk like this about work being done by volunteers free of charge. It's of course their right to do whatever they like. My anger is more about the Python 3 migration going off the rails in a way that poses an existential threat to my favorite programming language. Django isn't helping at all to say the least.