The looming Python 3(000) monster

Toshio Kuratomi a.badger at gmail.com
Tue Dec 9 16:54:48 UTC 2008


Arthur Pemberton wrote:
> On Mon, Dec 8, 2008 at 4:19 PM, Simo Sorce <ssorce at redhat.com> wrote:
>> I would personally strongly consider having 2.x and 3.0 parallel
>> installable ...
> 
> 
> Isn't Python designed to be parallel installable?
> 
> 
Yes it is.  We just want to avoid having to do that if possible because
it could be very painful to do so.

Here's the fear:

python2.x
  - python-libfoo-2.0
    - spiffy-app-1.2

python3.x
  - python-libfoo-2.1
    - excellent-app-1.1

python-libfoo-2.0 uses the 2.x API.  python-libfoo-2.1 uses the
python-3.x API.  In order to get spiffy-app and excellent-app into the
distro we need to have both python2.x and python3.x versions of the
library installed.

Now a security fix is released for python-libfoo-2.1.  Does that also
affect python-libfoo-2.0?  Can we backport the fix or are the py2.x and
py3.x versions too different?  Do we need to have more python coders
available to fix these errors?

Here's the ideal (For Fedora, once again, this does not address
mpdehaan's concerns):

python2.6
  - python-libfoo-2.1 (with from __future__ import *)
  - spiffy-app-1.2
  - excellent-app-1.1 (with from __future__ import *)

If this is possible we can maintain one version of python and one
version of the library.  The apps can both consume the library even
though one was coded for python-3.x and the other was coded for python-2.x.

Is this going to be possible or will deepseated assumptions in the new
language prevent this?  That's something we can't know for sure until we
actually start trying to run code in mixed mode like this.  Some people
had great luck with this earlier in the year[1]_ but I think there were
changes to the stdlibrary since then and I didn't trust that the author
had done a thorough job with the unicode/string/bytes testing.

So let me reiterate:

* python-3.x will not be in Fedora-11 unless it becomes obvious in the
next few weeks that we absolutely must be running it for the next release.
* we need more experience with python-2.6+ & python-3 compatibility
before we decide whether parallel versions of python are necessary.

.. _[1]: http://python-incompatibility.googlecode.com/svn/trunk/README.txt

-Toshio

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20081209/e9ead7de/attachment.sig>


More information about the fedora-devel-list mailing list