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

The python command in Debian



As written in [1], bullseye will not see unversioned python packages and the
unversioned python command being built from the python-defaults package.

It seems to be a little bit more controversial what should happen to the python
command in the long term.  Some people argue that python should never point to
python3, because it's incompatible, however Debian will have difficulties to
explain that decision to users who start with Python3 and are not aware of the 2
to 3 transition.  So yes, in the long term, Debian should have a python command
again.

One solution could be not to ship the python command in bullseye, forcing users
to adjust their local installations.  This has the advantage that the error of
an unknown interpreter should be pretty clear.  But leaves users without a
python command for the next two years until bullseye+1.

Describing here a solution which is implemented for Ubuntu focal (20.04 LTS).  A
new source package what-is-python (-perl-dont-hurt-me) ships binary packages
python-is-python2, python-dev-is-python2, python-is-python3 and
python-dev-is-python3.  The python-is-python2 package provides the python
package, such that packages that still depend on python are not removed on a
distro upgrade.  On new installs, python-is-python3 is not installed by default,
but the user gets a hint from command-not-found to install the package if he
tries to run python.  Package dependencies on the new four binary packages have
to be disallowed in the Python policy.  Note that such a package including the
Provides should only be uploaded once all dependencies on the unversioned python
packages are gone.

Matthias

[1] https://lists.debian.org/debian-python/2020/07/msg00039.html
[2] https://launchpad.net/ubuntu/+source/what-is-python


Reply to: