What Python versions I can use (June 2014 edition)

June 20, 2014

Because I like depressing myself and being harsh on Python 3, and also because Ubuntu 14.04 LTS and Red Hat Enterprise 7 were both released relatively recently, I'm going to inventory what versions of Python (both 2 and 3) are available to me on the various machines that I use and care about. Let's start with the two recently released major Linux distributions, because there's some terrible news for Python 3.

As I write this, the current versions of Python are 2.7.7, released May 31 2014, and 3.4.1, released May 19 2014 (Python release dates and release notes are all nicely accessible here).

Ubuntu 14.04 LTS ships with Python 2.7.6 and Python 3.4.0. These are almost current; in fact Python 3.4.0 was released at most a month before 14.04 itself was (14.04 was released in mid-April) and at the time of its release 14.04 shipped with the latest available versions of Python 2 and 3. Unfortunately but typically, Ubuntu probably won't update either over the lifetime of 14.04 LTS. Ubuntu LTS people are stuck with these versions for the next two years.

Red Hat Enterprise 7 ships with Python 2.7.5 and as far as I can tell no version of Python 3 at all in the standard version; possibly you can install a version of Python 3.3 in /opt through the RHEL/CentOS 'SCL' system. The upshot is that unless you go significantly out of your way you're not going to be using Python 3 on a RHEL 7 machine. RHEL and CentOS people are likely stuck with this whole situation for three or four years until the next version of RHEL is released.

We're still actively using Ubuntu 12.04 LTS and 10.04 LTS; these have Python 2.7.3 and Python 2.6.5 respectively. For Python 3 they have 3.3.2 and 3.1.2. Our remaining 10.04 machines will go away over the next year, bringing me up to some version of 2.7 on all our Ubuntu machines. Python 3 usage on either machine is probably hopeless, especially on 10.04; my impression is that if you're going to code to Python 3 you should be using 3.4 if at all possible and certainly some relatively recent version.

The current version of OmniOS ships with Python 2.6.8 and no version of Python 3. According to the OmniOS people you are not supposed to use their system version of Python but instead build your own at whatever version you want; however, their system version is camping on the /usr/bin/python name so in practice that version is what we'll use on OmniOS for script portability and so on (we have lots of scripts that start '#!/usr/bin/python' and we have very little interest in changing that). This means that I can't use 2.7 only features in portable system management Python scripts (or in scripts intended to run on our fileservers).

My Fedora 20 machines have Python 2.7.5 and 3.3.2 (which is the same version as is on Fedora 19). Based on evidence so far, Fedora probably won't update either version, so for more recent versions I get to wait for Fedora 21 (expected in the fall).

Wandering Thoughts is currently hosted on a FreeBSD 9.2 machine with Python 2.7.5 and no version of Python 3 installed. I don't know FreeBSD well enough to figure out from their website which version or versions FreeBSD 10 comes with, and it's probably not relevant to me anyways; the current host probably won't upgrade any time soon (and I'll probably never port DWiki to Python 3).

We don't currently have any Debian machines, but we might in the future if the Debian LTS effort catches on. Debian 6 'squeeze' (the only current LTS release) has Python 2.6.6 and Python 3.1.3, but we're unlikely to adopt that since it was released back in 2011. Debian 7 'wheezy' has Python 2.7.3 and unfortunately only Python 3.2.3.

I no longer care about the state of Python on Solaris; we're replacing our Solaris fileservers with new OmniOS fileservers.

The good news is that I can assume 2.6 everywhere and 2.7 on most places. The bad news for fans of Python 3 is that the Python 3 situation is still a disaster, alternating between outdated versions and being entirely missing. The odds of getting a good, up to date version of Python 3 on a machine when you type python3 is still rather low.

(See also the 2012 version of this. It's a bit striking how little has changed in two years, although some of that is that Python 2 is not exactly moving fast.)


Comments on this page:

By Ricky at 2014-06-20 11:08:42:

Just FYI, I don't think that FreeBSD comes with a default Python. It looks like you can install 2.3, 2.7, 3.0, 3.2, 3.3, or 3.4 from ports.

By Anon at 2014-07-19 04:23:28:

Distrowatch often lists popular package versions for distros: http://distrowatch.com/table.php?distribution=freebsd

Written on 20 June 2014.
« Some notes on Go's godoc and what it formats how
Sometimes 'unsubscribing' does seem to reduce spam activity »

Page tools: View Source, View Normal, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Fri Jun 20 02:33:57 2014
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.