Investigating Python 3 support in Fedora

height:260px; width:420px;

Having got used to Python 3.0 development on my Mac through MacPorts, I was a little surprised to find it currently unavailable for Fedora, at least in Constantine (Fedora 12, the current stable release) without any third party RPM sources.

I suspected it may have had something to do with many of Fedora's tools depending on Python 2.x, so one solution would be to do what the MacPorts folks did and implement them as separate ports, or RPMs. I'm still getting used to the lingo ;).

According to the Fedora Wiki for Fedora 13, that seems to be their intention. From the Benefits to Fedora subheading:

Fedora has long been a great platform for doing Python 2 development, but we don’t yet have Python 3. Having Python 3 available via rpms will extend our Python coverage.

Note also:

  • Python 3.0 was released almost 10 months ago, on 2008-12-03, and the latest release of the 3.* branch is 3.1.1, released on 2009-08-17.
  • Other distros have python 3, though not necessarily with anything “on top” resembling the full python 2 stack.
  • We have a working, valuable python 2 stack, which is used by critical system components (yum and anaconda): we must not destabilize the python 2 stack.
  • Python 3 is sufficiently different from python 2 that we need them to be independent software stacks.
  • The Spanish Inquisition. Spam spam spam. The knights who say… the soft cushions! The comfy chair!

I can live with that. As far as Linux distributions go, I like how transparent the decision making process is in Fedora and enjoy reading their discussions, even if in this case they seem to be a bit behind.

As for me, Django still uses Python 2.x but I'd started moving some of my personal projects over to 3.x. I suppose I can keep using the -3 flag with the Python 2.6.x interpreter to warn me of any deprecated features I may be inadvertently using.