packages
packages copied to clipboard
Make `python` default to python3 (T10229)
The time has come, Python2 should RIP in its grave, leaving its heritage to Python3. Users in 2022 probably expects that too: calling python should start the third version of the REPL/engine.
I realize our tooling still relies on python 2, but I think we should put a #! /usr/bin/env python2 line on top of these source files.
So, we've had this discussion more than a few times. PEP 394 was written specifically to address this issue a decade ago. Since then, tools like pyenv and virtualenv have become the gold standard for separating a development environment from the system python. Anyone not using them, should be, and anyone who is already won't be affected.
Having had time to read the PEP and to think this over, I honestly think that the practice of having a /usr/bin/python symlink as part of the system python is outmoded and should be actively discouraged. We have ~30-40 packages that still rely on python2. Thanks to the excellent push by #algent to move them to python3 or deprecate them entirely, we are getting very close to the day where only the Solus tooling needs python2. Once that is achieved, I think we should be at a point where all of the Solus scripts have been replaced by Go or python3 and that only eopkg and solus-sc will still be python2. I would hope by then that we've updated them to run without calling python.
@algent-al
Any chance you could come up with a list of Python 2 packages with a shebang line of either #!/usr/bin/env python or #!/usr/bin/python and create a list of things we need to fix before the present task can be closed?