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