[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Python 3 as default



On Wed, Dec 04, 2013 at 08:12:45PM -0800, Diane Trout wrote:

> > Instead, I mean, what would it take for the basic Debian system to install
> > Python 3 only by default, and have any system scripts that depend on Python
> > be Python 3.

> Nothing. 

> I just did a default no-tasks selected debian wheezy system and no version
> of python was installed.

> Using a cowbuilder wheezy & sid chroot I decided to see what python the tasks 
> from tasksel install.

> (e.g. apt-get -s install task-web-server | grep python)

> Tasks:
> task-desktop (with --no-install-recommends): no Python

>   task-gnome-desktop: (wheezy Python 2.7) (sid both Python 2.7 & Python 3.3)
>   task-kde-desktop: (wheezy no Python) (sid Python 2.7)
>   task-lxde-desktop: Python 2.7
>   task-xfce-desktop: no Python.

> task-web-server: no Python
> task-print-server: no Python
> task-database-server: no Python
> task-dns-server: (wheezy no Python) (sid Python 2.7)
> task-file-server: Python 2.7
> task-mail-server: no Python
> task-ssh-server: no Python
> task-laptop: no Python

> Looking at the lists of packages suggested by apt-get it seemed like only 
> Gnome that wanted lots of python packages.

$ cat /chroots/sid/var/lib/apt/lists/*_debian_dists_sid_main_binary-amd64_Packages \
  | grep-dctrl -FPriority standard -a -FDepends python -sPackage 
Package: apt-listchanges
Package: python-apt
Package: python
Package: python-minimal
Package: python-support
Package: python2.7
Package: python-reportbug
Package: reportbug
$

(It seems your tests somehow missed the "standard" task?)

So the user-facing components that would need to be migrated to python3 to
change the "default" are apt-listchanges and reportbug.

As it turns out, both of these packages which are priority standard in
Debian are not installed by default in Ubuntu, so actually there are no
patches to pull from there.  It seems there is a wishlist bug report asking
for reportbug to be switched:

  http://bugs.debian.org/714896

Sandro, you replied to this bug arguing that we're years away from having a
system free of python2.  But as the above analysis shows, there are really
only two packages that need to be switched to python3 to give users a
python3-only system by default (python-apt already has a python3 port).  I
think it's important for the Debian base system to lead, not follow, when it
comes to deciding which language runtimes will be installed by default.  It
will be years before python3 completely replaces python2, but there are
already a number of packages for which a switch to python3 is advantageous
(e.g., because of the greatly improved unicode support), and I believe we
will begin to see significant python3-only projects in the jessie timeframe.
I would like us to be able to drop python2 from Priority: standard in jessie
in favor of python3, so that users can reasonably have systems with only
python3 installed.  Would you accept patches to reportbug and
apt-listchanges to move them to python3?

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org


Reply to: