"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.