Primero, cada vez que ejecute un script utilizando el intérprete explícitamente, como en
$ python ./my_script.py
$ ksh ~/bin/redouble.sh
$ lua5.1 /usr/local/bin/osbf3
la #!
línea siempre se ignora. La #!
línea es una característica de Unix de scripts ejecutables solamente, y puede verla documentada en su totalidad en la página de manual deexecve(2)
. Allí encontrará que la palabra siguiente #!
debe ser el nombre de la ruta de un ejecutable válido. Entonces
ejecuta lo python
que sea que esté en los usuarios $PATH
. Esta forma es resistente a que el intérprete de Python se mueva, lo que lo hace algo más portátil, pero también significa que el usuario puede anular el intérprete de Python estándar poniendo algo delante de él $PATH
. Dependiendo de sus objetivos, este comportamiento puede ser correcto o no.
Próximo,
trata el caso común en el que se instala un intérprete de Python /usr/bin
. Si está instalado en otro lugar, pierde. Pero esta es una buena manera de asegurarse de obtener exactamente la versión que desea o, de lo contrario, nada en absoluto (comportamiento de "parada por falla"), como en
Finalmente,
sólo funciona si hay un python
ejecutable en el directorio actual cuando se ejecuta el script. No recomendado.