Re: F29 System Wide Change: Move /usr/bin/python into a separate package

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

 



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/

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux