Env: python2: No such file or directory

after a reinstall of cylc-flow-7.8.3

which cylc


cylc validate test1

env: python2: No such file or directory

which python; python --version


Python 2.7.10

how to remedy?

Cylc-7 commands invoke the Python 2 interpreter via #!/usr/bin/env python2.

… where python2 should be a symlink to (e.g.) /usr/bin/python2.7, and python3 should be a symlink to (e.g.) to /usr/bin/python3.7. I believe this is now the officially correct way of invoking Python to avoid clashes between Python 2 and 3. Linux distributions should do this out of the box. So should (most kinds of?) Python virtual environments as far as I’m aware.

The OS/package manager which installed Python should provide symlinks like python, python2 etc.

As Hillary says the symlink is not present on your system, so your options are to create it yourself or try to get your package manager to fix the problem.

$ sudo ln -s /usr/bin/python2.7 /usr/bin/python2

This can happen on MacOS due to conflict between package manager provided and system installed Python versions.

Out of interest what OS are you seeing this on and how was Python2 installed?