On Wed, 2018-05-23 at 08:30 -0700, Brian C. Lane wrote: > On Wed, May 23, 2018 at 02:55:40PM +0200, Jan Kurik wrote: > > = Proposed System Wide Change: Move /usr/bin/python into a separate > > package = > > https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_sep > > arate_package > > > > === Motivation === > > > > The meaning of the python command is ambiguous: it might mean > > either > > Python 2 or Python 3, depending on context. The upstream > > recommendation (PEP 394), which we try to follow in Fedora, is that > > users -- not distros, and not sysadmins -- should be in control of > > the > > python command. > > I'm opposed to this change. I see no reason to complicate things > because > some other distributions (Arch) have inadvisedly redirected > /usr/bin/python to python3. This whole mess violates the principle of > least surprise -- as a user of python what do you expect > /usr/bin/pythong to do? You expect it to run the python2 interpreter. > > Any 3rd party programs that users install will also expect this, so > this > change will cause their applications to fail. > > I think the rules can be distilled down to this: > * New python2 programs use /usr/bin/python2 > * New python3 programs use /usr/bin/python3 > * Leave /usr/bin/python pointing to /usr/bin/python2 for legacy > programs > > There is no good reason to make this change. Leaving it as it is now > doesn't break anything. I agree. This is breaking working programs on purpose (again). TL;DR: this proposal disregards a very important approach for transitioning. Having a program that is compatible with Python2 *and* Python3. "Shebang -- a python story" (genre: drama, horror). Preface: Python decides to depracate a wildly used, interpreted language and force users to migrate to a different language (the "new" version). Act1: #!/usr/bin/python gets hijacked to either mean Python2 or Python3. Python2-only users are advised to explicitly use python2. Problems: - python2-only user are required to fix their working programs. - "python2" binary might not even be available Act2: After users already accepted that /usr/bin/python means v2 or v3, /usr/bin/python gets discourage or removed. Btw, why was it then not left alone in the first place? The major problem is, many projects still cannot afford to only target v2 or v3. For example, RHEL7 is v2-only, F29 is (possibly) v3-only. Migrating to v3 at once is easy. The problem for a project is to supporting a variety of systems. This becames a real problem, solely because python community pulls the plug on python2 long before python3 is ubiquitously available. Yes, Python3 is 10 years old, but still not everywhere. A sensible approach for a project to solve this problem is to write in a python2-and-3 compatible subset. But wbyen discouraging "#!/usr/bin/python" it's not generally possible to find a suitable interpreter. Apologies for being snarky, but IMO the python transision is handled badly. have a nice day, Thomas
Attachment:
signature.asc
Description: This is a digitally signed message part
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/message/U4CIQHIR2YZWXPIT2WDL5CY6IQBJYAQO/