Path: csiph.com!weretis.net!feeder4.news.weretis.net!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod From: barry@debian.org Newsgroups: linux.debian.maint.python Subject: Re: MBF for deprecating Python2 usage Date: Fri, 04 Aug 2017 16:20:02 +0200 Message-ID: References: X-Mailbox-Line: From debian-python-request@lists.debian.org Fri Aug 4 14:13:21 2017 Old-Return-Path: X-Amavis-Spam-Status: No, score=-10.76 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, LDO_WHITELIST=-5, PGPSIGNATURE=-5, SARE_LWSHORTT=1.24] autolearn=ham autolearn_force=no X-Policyd-Weight: using cached result; rate: -5 Content-Type: multipart/signed; boundary="Apple-Mail=_391EB1E4-87B1-47EE-9082-89C261863B11"; protocol="application/pgp-signature"; micalg=pgp-sha256 MIME-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) X-Mailer: Apple Mail (2.3273) X-Mailing-List: archive/latest/15076 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/92E6FF73-391C-45FE-A213-6AAED284629D@debian.org Approved: robomod@news.nic.it Lines: 109 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Date: Fri, 4 Aug 2017 10:13:00 -0400 X-Original-Message-ID: <92E6FF73-391C-45FE-A213-6AAED284629D@debian.org> X-Original-References: <3109A909-3338-4717-BFD2-D65E9206FD7F@debian.org> <9614BFBC-E260-48A6-B722-DDD41E715A20@kitterman.com> Xref: csiph.com linux.debian.maint.python:9695 --Apple-Mail=_391EB1E4-87B1-47EE-9082-89C261863B11 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 On Aug 3, 2017, at 23:23, Scott Kitterman wrote: >=20 > Read it. I remain completely convinced that /usr/bin/python pointing = at a python3 version is utterly wrong and a disservice to our users. = Even after we remove python2.7, people will be locally compiling it and = using it for a decade. I think it=E2=80=99s inevitable, and not doing so *eventually* will be a = greater disservice. Sure, not today, maybe not in 2020, but I don=E2=80=99= t think we=E2=80=99ll be having this discussion in 2025. If by then, 5 = years after Python 2.7 EOL, users read on SO or some Learning Python = site that they can just type =E2=80=98python' to get an interactive = prompt, but it doesn=E2=80=99t work on Debian, they=E2=80=99ll think = Debian is broken, not Python. So I think it makes sense to consider how = the transition will work. You=E2=80=99re right that folks will still need Python 2 after 2020, and = that their best option may be to build it themselves, but I don=E2=80=99t = think they=E2=80=99ll be building and installing some old Debian = package. Instead they may build from source, which means they=E2=80=99ll = be installing it into /usr/local/bin not /usr/bin, and they=E2=80=99ll = have to change their shebang lines anyway. And there will come a time = when even Python 2.7 is unbuildable as toolchains and libraries evolve. = Upstream will stop tracking those changes so even the upstream git repo = won=E2=80=99t give you buildable source. There may be a bunch of third = party forks, but I don=E2=80=99t think it=E2=80=99s our responsibility = to ensure that Debian aligns with any of those hypotheticals. Folks = needing to stay on Python 2 will probably also just elect to not upgrade = their OS, so what we do in future releases won=E2=80=99t matter to them. Upstream and Debian already install a `python2` alias for `python`, and = I think we need to join the chorus that in the future, the way to run = Python 2 is via `python2`. Yes, people will have legacy stuff around = for a long time, but it=E2=80=99s better to begin the transition now = rather than make a major break years from now. > Such a change would be actively user hostile. >=20 > When python2.7 goes away, /usr/bin/python should go too. Maybe in the short term (as Matthias suggests), but I=E2=80=99m not so = sure it=E2=80=99s best to disappear /usr/bin/python forever. = /usr/bin/python is not just the common shebang (and we should be = actively transitioning to /usr/bin/python2 for that), but it=E2=80=99s = also the command line UI for people wanting to learn Python, or just = wanting to get an interactive interpreter to play with. There will be a = day when, if they get a command not found when typing `python` at a = shell prompt, they will wonder why Debian is broken. I think the transition should roughly be: * Update policy and tooling so that any scripts that require Python 2 = use /usr/bin/python2 in their shebang. * Educate our users that they should be using `python2` for anything = that has not been ported. * Port as much as possible to Python 3 (eventually, everything = maintained in Debian) and /usr/bin/python3 in their shebang. * Plan for a date at which /usr/bin/python will point to Python 3. I = know that=E2=80=99s the most controversial bit, but I do think that as = time goes on and we=E2=80=99re past 2020, it will be the choice that = gives our users the best experience. The discussion on linux-sig is a way to align the entire Python Linux = ecosystem to the eventual goal, giving individual distros the leeway = they need to time such transitions as they see fit to best serve their = users. I=E2=80=99m hoping more Debian Pythonistas will join that = discussion, otherwise the outcome will be heavily weighted toward other = Linux distros and Debian may find itself without a voice in the matter. Cheers, -Barry --Apple-Mail=_391EB1E4-87B1-47EE-9082-89C261863B11 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEhBcVftvnPZ6sHlObEm61Y6dLBr8FAlmEgOwACgkQEm61Y6dL Br+R/RAAs6XQtqQ0A74rwpMyrXiggerJDI9mBswKP7WSVoUSf3efpM5/2D8EgELt Fz45OFPPekN5AyPoC+idpgrd9r8Bh8y1VT06XX9MR7xMbCiNuij4CjfuP0G2fGIn sQPv9H15GmB7AjYJCVkB4L/auKFfpaSpv1RAe38U+hhzI6HlFDWKR57/Jl8PPBN5 EYJ2z+3gmMjV3Ee3FHRMwSjVNZRc1j1YsK9zO38uKZd5QeK7bhJRK0MjvhTnL+Ud 9pm3J6qXhMNKph2uWCgoKbHb9yG7Bg3MKHHsRiijzavBOQT7w4Bat8HctQYZE2AB K3KODS0HtVlP2pl68wnWtDSokoMEh3QOoA5Il0x89DbpAOFha2k+mIu7Ux/nAfcz Q/DDVLex0RdRIKHYKvoKHstKgOsxWMfNnYiqhJh/0p1yvSXtz4D63HWDRkhlsdRm Gr9MQiKZrzP8cEFvop73rMyau0QAqxlBI3rJSNzJd/2Y6Dmbquptr3T4qeoCaYha gPDCdvSNClrAtlDLqN8vIcEJ39hNSEeRw7aTU30sRQC0LgKZzxHxBsodq0RzBVtD QkEzQBBljwL3U4/j86wdwqdehEZTOG1qXZk7RhlLG58IM1V40yAEvBlc9Cs0xzGk COihxqMGVvg6gjNbUpi8YDZ60NaOU9Aulekh9K2bjtGBFRZvA1g= =+u3D -----END PGP SIGNATURE----- --Apple-Mail=_391EB1E4-87B1-47EE-9082-89C261863B11--