HomePhabricator

global: use python3 in shebangs

Authored by indygreg.

Description

global: use python3 in shebangs

Python 3 is the future. We want Python scripts to be using Python 3
by default.

This change updates all #!/usr/bin/env python shebangs to use
python3.

Does this mean all scripts use or require Python 3: no.

In the test environment, the PATH environment variable in tests is
updated to guarantee that the Python executable used to run
run-tests.py is used. Since test scripts all now use
#!/usr/bin/env python3, we had to update this code to install
a python3 symlink instead of python.

It is possible there are some random scripts now executed with the
incorrect Python interpreter in some contexts. However, I would argue
that this was a pre-existing bug: we should almost always be executing
new Python processes using the sys.executable from the originating
Python script, as python or python3 won't guarantee we'll use the
same interpreter.

Differential Revision: https://phab.mercurial-scm.org/D9273

Details

Committed
indygregNov 6 2020, 4:58 PM
Differential Revision
D9273: global: use python3 in shebangs
Parents
rHGe7a4c018b563: tests: use python from environment in test-parseindex2.py
Branches
Unknown
Tags
Unknown