Today we’re introducing a new installer and we think this one is pretty special. You can now install Django 1.5 running on Python 3.3. The team at WebFaction is excited to be an early Python 3 adopter by becoming one of the first hosts to support Django on Python 3.
If you’re a Python user, you know that the transition from Python 2 to Python 3 hasn’t happened overnight. In fact, the first Python 3 release happened almost five years ago. The pace of transition has been influenced by a kind of chicken or the egg problem: Python users have been reluctant to upgrade because few libraries supported Python 3, but library maintainers (and web hosts) have been reluctant to upgrade because of few Python 3 users. But that’s starting to change with Python 3 support appearing in popular libraries such as Requests, nose, and now Django.
With Django on Python 3.3, you get all the new benefits of Python 3 which were not backported to Python 3 (check out the “What’s New” documentation for Python 3.0, 3.1, 3.2, and 3.3 for complete details). For example, if you’ve ever needed to do something like this with a generator in Python 2 code:
for elem in some_iterable: yield elem
You can now simplify that code using Python 3.3′s yield from syntax:
yield from some_iterable
Before you dash headlong into upgrading your Django sites, please exercise some caution. The Django project considers Python 3 support to be experimental, so the current Django release comes with a few limitations. Notably, MySQL with Python 3 is unsupported. Additionally, while many libraries have added Python 3 support, support for the new language version is far from universal, so be sure to investigate your dependencies (including pluggable Django applications) before upgrading.
If you’re ready to give Django on Python 3 a whirl, give the installer a try with the WebFaction control panel. And if you run into problems with the new installer, join us in the Q&A Community.