"Python myscript" ignora "#! / Usr / bin / env pythonX" onde pythonX não existe

Por que nãotest.py jogar erroenv: python3: No such file or directory quando o Python 3 não estiver instalado?

Meu sistema (Mac OS X) tem o Python 2.7 instalado, mas não o Python 3:

$ /usr/bin/env python -V
Python 2.7.12
$ /usr/bin/env python3 -V
env: python3: No such file or directory

Arquivotest.py:

#!/usr/bin/env python3
import sys
print sys.executable

Executandotest.py:

$ python test.py
/usr/local/opt/python/bin/python2.7

Eu pensei que, como o Python 3 não existe no meu sistema, ter a linha shebang#!/usr/bin/env python3 irá lançar um erro e finalizar o script. Masenv realmente selecionou o intérprete Python 2.7.

questionAnswers(2)

yourAnswerToTheQuestion