On Wed, Feb 13, 2019 at 10:26 AM Petr Viktorin <encukou@gmail.com> wrote:
PEP 394 says:

 > This recommendation will be periodically reviewed over the next few
 > years, and updated when the core development team judges it
 > appropriate. As a point of reference, regular maintenance releases
 > for the Python 2.7 series will continue until at least 2020.

I think it's time for another review.
I'm especially worried about the implication of these:

- If the `python` command is installed, it should invoke the same
   version of Python as the `python2` command
- scripts that are deliberately written to be source compatible
   with both Python 2.x and 3.x [...] may continue to use `python` on
   their shebang line.

So, to support scripts that adhere to the recommendation, Python 2
needs to be installed :(

I literally just ran into this problem now.  Part of a software suite I've written uses Python to fetch updates during the installation process.  Due to the target audience, it needs to access the system Python (only), and support systems as old as RHEL 5 (Python 2.4 and later, including Python 3.x in the same code base, using nothing but the stdlib).  The shebang line was "#!/usr/bin/env python"

It's been working for years, but was only now reported broken by a user that upgraded their Ubuntu distribution and suddenly had no "python" executable anywhere.  But they had python3.

I suspect suddenly not having any "python" executable in a Linux system will screw up a lot more people than just me.  The workaround was ugly.

I'd like to see there always be a `python` executable available if any version of Python is installed.

Thanks,
Jason

--
Jason M. Swails