Poll: Python Version

Edit: Due to popular demand (well a couple of comments) I’ve decided to allow multiple answers to the poll. This should make everyone that uses two versions happy.

With two major versions of Python available to us Python programmers (2.X and 3.X) I thought it would be interesting to see which version the readers of this blog are using and targeting.

Personally I’m still using 2.5 on my Debian box because it’s the default, and 2.6 on my Windows PC. While I have used 3.X and have it installed, I’ve remained on the 2.X branch largely because many of the modules that I play around with are still focused on the 2.X branch so that’s where my focus has remained.

I voted 2.5 since I do that majority of my programing on my Debian box. So now what about you:

Which version of Python do you use?

  • 2.6 (59%, 700 Votes)
  • 3.1 (16%, 187 Votes)
  • 2.5 (15%, 182 Votes)
  • 2.7 (4%, 48 Votes)
  • 2.4 (3%, 32 Votes)
  • 3.0 (2%, 20 Votes)
  • 2.3 (0%, 5 Votes)
  • 2.1 (0%, 3 Votes)
  • 1.5 (0%, 2 Votes)
  • 2.2 (0%, 1 Votes)
  • 2.0 (0%, 1 Votes)
  • 1.6 (0%, 1 Votes)

Total Voters: 1,084

Loading ... Loading ...

If you want to explain your choice leave a comment below.

16 thoughts on “Poll: Python Version”

  1. Several critical libraries I use still have not been ported to 3.x, so I can’t use it. I switched from 2.5 to 2.6 briefly, then realized if I started using 2.6 features I would have compatibility issues with Jython and IronPython, and it seems a bit of an evolutionary dead end. So, I switched back to 2.5, and don’t feel like I lost much of importance…

  2. For the open source components I provide every version of Python from 2.3 onwards is supported including 3.x. My test harness ensures this. (It also recompiles Python with both two and four byte unicode representation.)

    As pretty much everyone else says, for work I stick to 2.6 – the current version on Ubuntu – because so many other packages I need do not support 3.x. The distinction between bytes and unicode would be very useful.

    The problem is that even if I fixed the packages for 3.x it wouldn’t help me. The maintainers haven’t put the effort in (and 3.x has been available in usable form for porting for two years). That means it would be a gamble of them accepting my 3.x port. The last thing I want to do is have my own forked copy of a package that I have to maintain. So I am stuck on 2.6. (Note that I also don’t do any of the “advanced” stuff where I could even tell the difference between 2.5 and 2.6).

    The way forward is for package maintainers to state what their stance on 3.x is. For example they may say they’ll accept 3.x changes, the project is in maintenance only, or that they are doing the work themselves.

  3. I do most of my work on Plone 3, which is on Python 2.4. (Plone 4 is out soon, and will use 2.6). But I do use everything from Plone 2.4 to 3.1.

  4. I really would like to use 2.6 for a standalone application on a USB stick, but the 2.6 Windows binary seems to require a herd of Microsoft DLLs. I just couldn’t get it to work, so I went back to 2.5.

  5. Checkboxes would work better than ratio buttons, because I use both 2.6 (system default Python) where possible, and 2.5 for apps that are not compatible with 2.6.

  6. Like others, I’ve wanted to move to 3.x but too many of the packages I depend on aren’t available under 3.x yet. It seems we are caught in this catch-22: people aren’t moving to 3.x because of package dependencies, and the package maintainers aren’t prioritizing 3.x support because not that many of their users have moved to 3.x.

  7. Probably many people is using more than one version. It would be interesting to look at the results allowing to vote for more than one version in order of use. In my case :
    2.6 -> 1st (1 point) main
    3.1 -> 2nd (2 points) learning, used when libraries are not needed
    2.5 -> 3th (3 points) disappearing from my computers. kept just in case

    Summing all the votes for each version would give a more clear view of the situation

  8. 2.6 is my compromise between “getting the awesome new language features” and “being able to use the full range of packages and tools.” I can’t wait for that compromise boundary to move up into 3.x land.

  9. Still running 2.5 because some std libs caused failures when attempting to run under 2.6 and I haven’t yet taken the time to chase it down.

  10. I do find it a bit interesting that so many people are still using 2.5 and 2.6, although when I think about it I guess I really shouldn’t given that I’m in the same boat.

    Thanks for the answers everyone, and I appreciate everyone who took the time to explain their decisions.

    I may change the poll as some suggested to allow people to select more then one versions.

    Thanks again!


  11. Checkboxes would work better than ratio buttons, because I use both 2.6 (system default Python) where possible, and 2.5 for apps that are not compatible with 2.6.

  12. I write far more programs for Rosetta Code where I don’t have much legacy issues, except occasionally having to make a program work in both 2.x and 3.x when prompted.

  13. I have a project at the moment where I am trying to use 3.1 and making good progress. Luckily it does not need libraries which have not yet been ported. But for most things it is that latter factor that dictates I am continuing to use 2.6 for most work.

Leave a Reply

Your email address will not be published. Required fields are marked *