This bug is used to track packages which don't work with Python 3.0. - Please file a NEW bug (with patches) for each package and make it BLOCK this bug. Do NOT file bugs without patches! - Please ensure that patched packages work with Python 2.6. See bug #230205. - Do NOT use this bug for issues with Python 3.0 itself. File a new bug and assign it to python herd. - Do NOT add comments, logs, patches etc. in this bug. - Issues with packages not working with older versions of Python should not block this bug. - Please try to send patches to upstream. Python 3.0 documentation: http://docs.python.org/3.0/ What’s New In Python 3.0: http://docs.python.org/3.0/whatsnew/3.0.html 2to3 documentation: http://docs.python.org/3.0/library/2to3.html The '2to3' tool can be used to automatically perform many transformations. The changes made by '2to3' are sometimes incorrect, so they should be precisely reviewed.
"Please ensure that patched packages work with Python 2.6" This doesn't seems sensible, python 3.0 is backwards incompatible with 2.6, so it's extremely unlikely the same codebase will work with both, and if it does, it's likely to be full of branches depending on which version of python it's running under. My guess is that any new python-3.0 ebuilds will need to be marked as requiring a 3.* slotted version of python, but *not* necessarily need to work with python-2.6. The larger problem will come when some relatively vital packages for python-3 aren't available, because it'll make testing python-3 really tricky. It's going to be a difficult migration any way you look at it...
(In reply to comment #1) > "Please ensure that patched packages work with Python 2.6" > > This doesn't seems sensible, python 3.0 is backwards incompatible with 2.6, so > it's extremely unlikely the same codebase will work with both, and if it does, > it's likely to be full of branches depending on which version of python it's > running under. http://docs.python.org/whatsnew/2.6.html contains: "The major theme of Python 2.6 is preparing the migration path to Python 3.0, a major redesign of the language. Whenever possible, Python 2.6 incorporates new features and syntax from 3.0 while remaining compatible with existing code by not removing older features or syntax. ... Python 3.0 is a far-ranging redesign of Python that breaks compatibility with the 2.x series. This means that existing Python code will need some conversion in order to run on Python 3.0. However, not all the changes in 3.0 necessarily break compatibility. In cases where new features won’t cause existing code to break, they’ve been backported to 2.6 and are described in this document in the appropriate place. Some of the 3.0-derived features are: * A __complex__() method for converting objects to a complex number. * Alternate syntax for catching exceptions: except TypeError as exc. * The addition of functools.reduce() as a synonym for the built-in reduce() function."
The plans had changed. We work on ensuring that packages use version of Python supported by them regardless on which version of Python is set as main active version of Python. Python 3.0 was treated as experimental. Packages supporting only Python 2.* should be ported to Python >=3.1 (in upstream bug trackers).