Source: what-is-python
Version: 3.8.6-3
Severity: critical
Justification: breaks unrelated software
X-Debbugs-Cc: za...@panix.com

Any system where the unqualified command names ‘python’ and/or
‘python-config’, or the well-known pathname /usr/bin/python, refer to
Python 3, is misconfigured.  These names need to be **permanently**
reserved for the legacy Python 2 interpreter, even after Debian ceases
to ship Python 2, or you risk breaking unpackaged software that has
not yet been ported to Python 3.  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.

(I am aware that PEP 394 explicitly licenses ‘python’ to run the
Python 3 interpreter.  PEP 394 is wrong.  It is my understanding that
the authors of PEP 394 felt they could not declare various
distributions (e.g. arch), that had already made ‘python’ run the v3
interpreter, to be buggy—but they should have.)

Please remove the python-is-python3 and python-dev-is-python3 packages
from Debian, and document in Debian’s Python policy that the
unqualified command names ‘python’ and ‘python-config’ and the
pathname /usr/bin/python are **permanently** reserved for the Python 2
interpreter.

I cannot overstate how much I mean **permanently**.  Forever.

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-3-amd64 (SMP w/32 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Reply via email to