LWN.net Logo

Python 3.0 released

Python 3.0 released

Posted Dec 4, 2008 4:45 UTC (Thu) by qg6te2 (guest, #52587)
Parent article: Python 3.0 released

Fedora rawhide is in the process of converting from python 2.5 to 2.6. Given the bleeding edge nature of Fedora, one wonders why a switch directly to 3.0 is not being made. Certainly makes more sense in the long term.


(Log in to post comments)

Python 3.0 released

Posted Dec 4, 2008 5:40 UTC (Thu) by danielthaler (guest, #24764) [Link]

I expect a number of upstream projects need to switch first. It doesn't make sense to ship a version that isn't usable by packages that depend on python.

Python 3.0 released

Posted Dec 4, 2008 6:10 UTC (Thu) by shredwheat (guest, #4188) [Link]

It makes good sense for Fedora to be first moving to 2.6. Remember that 2.6 was released only a few months ago, and was developed parallel to 3.0.

Python2.6 makes an excellent transition point for moving to 3.0. It already contains the non-invasive new features, and has warnings and options to prepare for the move to 3.0.

Python 3.0 released

Posted Dec 4, 2008 20:48 UTC (Thu) by iabervon (subscriber, #722) [Link]

The idea with 2.6, as I understand it, is to be the ideal Python 2.x-compatible version for moving code to 3.0 from. So it makes sense for Fedora to have "python" be 2.6, to identify problems, but still have programs work, while having "python3.0" be 3.0 (now that it's released). There's a fine line between "bleeding edge" and "not expected to work".

Python 3.0 released

Posted Dec 5, 2008 18:58 UTC (Fri) by nevyn (subscriber, #33129) [Link]

It's very likely that Fedora will never have a release with two different python versions again, so the probability of an official /usr/bin/python3.0 is pretty close to zero.

Also I think anyone who expects python-3.0 to be in distributions "soon" needs to share the drugs around more. Yes, it's better then the perl-5 to perl-6 transition, but that isn't saying much and it broke way too much stuff gratuitously (I first assumed removing {}.has_key() was an April fools joke).

Python 3.0 released

Posted Dec 5, 2008 20:52 UTC (Fri) by iabervon (subscriber, #722) [Link]

I wouldn't be surprised if Fedora ended up wanting to include software that uses new features of Python 3.0 (in the upstream project) to an extent that Fedora can't reasonably port it to Python 2.x (even with the possibility of doing a lot of "from __future__ import ..." everywhere) at the same time that they want to include software that will require extensive updating that Fedora can't reasonably do to work with Python 3.0. (FWIW, my Ubuntu box currently has python2.4, python2.5 and python (=2.5); my Gentoo box currently has python2.4, python2.5, python2 (=2.5), and python (=2.5).)

I haven't used Fedora, but I'd be surprised if it were possible to have a wide variety of Python software any time soon without having at least 2 (if not more) versions of python.

Python 3.0 released

Posted Dec 5, 2008 22:16 UTC (Fri) by nevyn (subscriber, #33129) [Link]

It's true that Fedora hasn't had much pressure to move to a new version of Python when it didn't want to before. However there are multiple precedents now of Fedora dropping packages after a move to a new version (because they depended on an older version). The biggest victim being Zope.

So I find it very believable that Fedora will just keep saying "either your package works with 2.* or we don't ship it" for anything which comes along that "requires py3k". More likely is that upstreams will use 2.* as the baseline for a significant amount of time to come, much like people didn't all move to Apache-httpd-2.* instantly.

Python 3.0 released

Posted Dec 5, 2008 22:27 UTC (Fri) by dlang (✭ supporter ✭, #313) [Link]

however there is defiantly going to be some project that is going to move to python 3.0 immediately.

you are assuming that one of the goals of the project is to be included into Fedora so Fedora can lay down requirements (like "don't use Python 3")

other systems will use Python 3 and programmers will write things in Python 3.

if Fedora wants to include these things they will need to include Python 3 or re-write them

there is another thread this week in the LWN comments where people are advocating that the distros should not modify any packages and should just ship the upstream packages unmodified. this is an example of how it's not going to be possible.

Python 3.0 released

Posted Dec 5, 2008 23:28 UTC (Fri) by jspaleta (subscriber, #50639) [Link]

The real problem is what this means for upstream developers. If the language incompatibilities are mostly cosmetic then downstream distributors will be able to hold a transitional patchset together without the upstream developers having to branch, upstream can just make the move to py3k and the cosmetic changes can be generated to make a py2.x variant. But for codebases which have to make deep changes, or make heavy use of additional python based projects, they will most likely have to branch and coordinate porting into py3k with the other python module projects.

Either way its going to be painful..and messy.

-jef

Python 3.0 released

Posted Dec 6, 2008 0:23 UTC (Sat) by iabervon (subscriber, #722) [Link]

In a lot of situations, it's trivial to have some software use python2 and other software use python3. An apache transition is a lot more difficult, because you can't really have half your site served with one apache and the other half served with a different version (on one IP and all on port 80 without a ton of annoying redirection).

Python 3.0 released

Posted Dec 8, 2008 18:16 UTC (Mon) by nevyn (subscriber, #33129) [Link]

Actually "in a lot of situations" it's trivial to run two different Apache-httpd's ... the problem is all the other situations where it's a giant PITA.

The same is true of python, yes it's possible to run two versions in some situations ... but due to all the other situations Fedora has said "there will be only one". AIUI Debian ship multiple versions of python, but only one version of some (all?) modules ... which doesn't seem that useful. It'll be interesting to see how Debian manage the py3k transition.

Python 3.0 released

Posted Dec 14, 2008 6:08 UTC (Sun) by njs (subscriber, #40338) [Link]

In Debian, in almost all cases, there is a single package for each library, but at install-time that package detects which versions of python are installed and automatically sets up the library to work with all of them (including running multiple byte-compiles, etc.). This system is called "python-support".

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds