FoundationsTPythonVersions

Differences between revisions 3 and 4
Revision 3 as of 2011-11-09 20:13:28
Size: 2227
Editor: mail
Comment:
Revision 4 as of 2011-11-09 20:22:44
Size: 3341
Editor: mail
Comment:
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:

== Plan ==

The plan is to identify a handful of desktop applications included on the default install, follow their dependency stack, and investigate whether their upstreams already support Python 3 (either in a released version, a development branch, or fork). For those which have no upstream support yet, we have several choices:

 * Find an alternative that does already support Python 3
 * Encourage and help upstream to do the port
 * Port it ourselves and contribute to upstream
 * Fork or rewrite from scratch

Candidates for Python 3 porting:
 * Software Center (LP: #823254)
 * Update Manager
 * Jockey
 * gwibber backend
 * Computer Janitor

There is '''no''' plan to make Python 3 the default /usr/bin/python. See [[http://www.python.org/dev/peps/pep-0394/|for upstream policy on this]].

== Resources ==

 * http://python3wos.appspot.com/
 * There were discussions with Fedora at !PyCon 2011
 * [[AllisonRandal/Python3Status|Allison Randal's Python 3 status page]]
 * [[http://getpython3.net|Get Python 3 website]]
 * [[http://python3porting.com/|Python 3 Porting Guide]]

Shipping Python 3 on the 12.04 LTS CD

Originally, this spec said "shipping only Python 3 on the 12.04 LTS CD". Okay, that's pretty ambitious, and it's not going to happen for 12.04 LTS. This is basically work we've tried to do for several cycles leading up to 12.04, and our goal is now the more modest one of porting at least one desktop application, including its full dependency stack, to Python 3 for inclusion on the CD images. We'll claim some space for Python 3 that way (mitigated by the removal of Python 2.6 from 12.04), and we'll learn a lot about the porting process, i.e. what don't we know?

The ultimate goal is really to relegate Python 2 to universe for 14.04 LTS.

The blueprint contains the work items and some additional details. This wiki page will be used to further specific the task for 12.04.

Plan

The plan is to identify a handful of desktop applications included on the default install, follow their dependency stack, and investigate whether their upstreams already support Python 3 (either in a released version, a development branch, or fork). For those which have no upstream support yet, we have several choices:

  • Find an alternative that does already support Python 3
  • Encourage and help upstream to do the port
  • Port it ourselves and contribute to upstream
  • Fork or rewrite from scratch

Candidates for Python 3 porting:

  • Software Center (LP: #823254)
  • Update Manager
  • Jockey
  • gwibber backend
  • Computer Janitor

There is no plan to make Python 3 the default /usr/bin/python. See for upstream policy on this.

Resources

Historical reference

As mentioned, we've actually been working on this spec since the Maverick days. Here is some historical information from the whiteboard:

See also this wiki page for detailed background:

https://wiki.ubuntu.com/MaverickMeerkat/TechnicalOverview/Python

Full UDS-O session notes: http://pad.ubuntu.com/uds-o-foundations-o-python-versions

Work items (oneiric):

  • [barry] Ensure that 3.1 is gone: DONE
  • [barry] look at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622279 for blockers which we could apply resources to to help unblock: DONE

  • [allison] take transition discussion to DEX: DONE
  • [barry] research python3 disk usage for CDs. (Size estimate of python3 binary plus duplicates of all current python 2 packages, or at least the ones that have been ported to 3): DONE
  • [kate.stewart] at the june rally: reassess adding Python3 or python3 only on the CD: DONE

Since 2.6 will not be in 12.04, the Launchpad team wants a 10.04 PPA with Python 2.7 in it so that they can transition to 2.7 before transitioning to 12.04. This is available here: https://launchpad.net/~pythoneers/+archive/lts

Python/FoundationsTPythonVersions (last edited 2013-11-15 21:49:11 by mail)