Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

I find a lot of 3.x new features to be improvements from 2.x but everyone still uses 2.x. I fear that we will be on Python 4.x by the time 3.x adoption starts to actually happen en masse.

From what me and my coworkers have discussed we are basically all waiting on Django to get Python 3.x adoption. I've tried submitting multiple patches for this and helping Django as much as possible but they don't seem to want outside help.

Come on Django, come on, a lot of us are waiting for you.



As I've said pretty consistently: getting Django onto Python 3 is not a technical code-porting issue. In fact, experimental Django-on-Python-3 branches exist and, so far as I'm aware, run pretty well.

The problem is and continues to be the social and community issue of gracefully deprecating our way out of Python 2.x, which we're basically doing at a rate of one Python version per Django release. All the patches in the world can't really make this process go faster :)


And this is understandable, but as long as the branches for 3.x Django are "experimental" or created by a third party I'm not willing to put them into a stable production environment. Maybe Django just needs to come up with a 3.x branch to develop as stable along side the 2.x branch till 2.x starts to die out?


I've written about this on HN before; see https://qht.co/item?id=3600402.

The situation hasn't changed. If you want to work with Django on Python 3, go ahead; the code's right there for you. We need the help: it's going to take a lot of burn-in to make sure we get everything right.

If you're waiting for it to hit trunk, fair enough I guess (though it's a purely arbitrary decision on your part; the only difference between the branch and what'll hit trunk is the URL). That should happen shortly after 1.4 ships, so quite soon now.


Lot's of huge working code bases (in-house apps) are using Python 2. It works, it's been tested, it's in production daily. What's the compelling business reason to change? And 2 to 3 is a substantial change. If we're going to do this and pay the cost to do so, we may as well investigate other options (outside of Python) while we're at it.


I'm not sure there's a compelling reason to upgrade old, working code to Python 3. The cost of having Python2 and Python3 installed on the same machine is minuscule. The hardest part is making sure scripts use "#!/usr/bin/env python2" or "#!/usr/bin/env python3" appropriately. Even on Windows, the "Python launcher for Windows" [1] will launch the correct version of Python.

My rule of thumb is write new stuff in Python 3, keep old stuff on Python 2 unless I have to rewrite it for some reason anyway.

Upgrading just to upgrade seems like developer problem more than a technical problem.

[1] http://blog.python.org/2011/07/python-launcher-for-windows_1...


Yes you should investigate other options outside of Python, on a regular basis I keep up to date on other frameworks/languages and on a regular basis I decide that Python is still the right choice for me. If you aren't doing this on a regular basis (at least once a year seriously considering where your framework/language of choice is on the market) then I think there is a serious problem. The CS world changes so fast that you always need to consider if what you are doing is simply outdated and you should pay the cost to stay current. However if that cost still isn't worth it and everything is working on your outdated, legacy hardware and software and you can still keep up with the market than you're good.

I simply like to keep myself up with the market/community, when I release new software I try and make sure I'm not releasing something on a platform that will be dead in a month.


then there's appengine, just now got up to 2.7. it will probably be another few years before it's on 3.x. doesn't fedora still ship with 2.4? ideally we would all like new toys, but reality sucks most of the time.


doesn't fedora still ship with 2.4

You're confusing Fedora and Red Hat. Fedora is generally very cutting edge and has been shipping with 2.7 for quite a while now, Red Hat is far more conservative and was, at least up until the latest release, shipping with 2.4


for RHEL 5, it's Python 2.4, for RHEL 6 it's Python 2.6.


That is about how it was when they persisted in using 1.5.2 for Anaconda long after 2.0. And yet we survived!


right yeah I meant red hat. my mistake.


http://fedoraproject.org/wiki/SIGs/Python

Fedora 16 (the latest) ships with Python 2.7. Python3 is available in the yum repositories.

Distros aren't holding Python3 adoption back, it's apps and libraries.


Fedora? That would be pretty weird for a distribution mostly shipping with cutting-edge software.

As far as I can see, they're shipping both 2.7.2 and 3.2.2: http://pkgs.fedoraproject.org/gitweb/?p=python.git




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: