On 2/16/21 5:34 PM, Zack Weinberg wrote:
> Unpackaged Python-2-only software
> will continue to exist indefinitely—I am *certain* that I will still
> need a Python 2 interpreter ten years from now, and I fully expect my
> grandchildren will occasionally trip over Python-2-only software even
> a hundred years from now.

Please also consider the burden on other grandparents having to explain their
grandchildren that they have to type "python3" on Debian, when anybody else
running Python on a different platform or running Python on other Linux
distributions is used to type "python" ;)

I don't think there's a good solution for everybody.  I still think it's better
to provide an explicit choice in a package, instead of following instructions
from the web to manage the "python" symlink using update-alternatives.

I'm going to propose an addition to the Debian Python Policy on the
debian-python ML:

+Removal of the unversioned packages
+-----------------------------------
+
+Starting with the Debian 11 release (bullseye), the binary packages
+``python``, ``python-minimal``, ``python-dev``, ``python-dbg`` and
+``python-doc`` are removed.  No package in the archive must use any of
+these packages as build dependencies, dependencies, recommendations or
+suggestions.
+
+
+Unversioned python commands
+---------------------------
+
+For the Debian 11 release (bullseye), the :file:`/usr/bin/python`
+command is provided in the ``python-is-python2`` package (pointing to
+:file:`/usr/bin/python2`).  The :file:`/usr/bin/python-config` and
+:file:`/usr/bin/pydoc` commands are provided in the
+``python-dev-is-python2`` package.  These package are not installed by
+default for new installations, but only for upgrades from the Debian
+10 release (buster).  These packages should be removed after an
+upgrade.  These packages will not be part of the Debian 12 release
+(bookworm).
+
+The packages ``python-is-python3`` and ``python-dev-is-python3``
+provide the :file:`/usr/bin/python`, :file:`/usr/bin/python-config`
+and :file:`/usr/bin/pydoc` commands pointing to Python3.  These
+packages can be installed by developers and users to use the
+unversioned commands.  NOTE: Locally installed software not yet ported
+to Python3 is likely to break when installing these packages.
+
+The packages ``python-is-python3``, ``python-dev-is-python3``,
+``python-is-python2`` and ``python-dev-is-python2`` must not be used
+as build dependencies, dependencies, recommendations or suggestions.

I hope this makes it clear that installing python-is-python3 can cause problems,
and that it's an opt-in installation option, which is not enforced by any other
package dependencies.

Matthias

Reply via email to