What Python versions I can use (June 2014 edition)
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
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
(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.)