Python shebang

Python shebang
Un shebang se refiere a un conjunto de caracteres únicos incluidos al comienzo de un archivo de script. Un shebang define el tipo y la ruta del programa que debe ejecutar el script.

El shebang comienza con los personajes #! seguido de la ruta al programa utilizado para ejecutar el script.

Shebang en Python

Python es un lenguaje de secuencias de comandos. Por lo tanto, nos permite especificar la versión y la ruta del intérprete de Python para usar a través del shebang.

La sintaxis para agregar un shebang en Python es como se muestra:

#!intérprete [opcional-arg]

El #! Los personajes se usan para denotar el comienzo de un shebang.

El intérprete le permite especificar la ruta al intérprete utilizado para ejecutar el script.

Finalmente, el argumento le permite especificar el argumento que se pasa al ejecutable especificado. Para nuestro caso, esto representa al intérprete utilizado para ejecutar el script.

Si desea que se ejecute un script con la última versión del intérprete de Python, agregue la siguiente entrada al comienzo de su script:

#!/usr/bin/env python3

El shebang anterior le dice al sistema que ejecute el script con el intérprete Python 3.

En el ejemplo anterior, estamos utilizando el comando/usr/bin/env/env para obtener la ruta al intérprete de Python en lugar de escribirlo manualmente.

El comando ENV nos permite mostrar y recuperar variables de entorno en el sistema.

Por lo tanto, ejecutando el comando:

$/usr/bin/env python

lanza el intérprete de Python instalado.

Otro ejemplo de un shebang es como se muestra a continuación:

#!/Home/Debian/Anaconda3/bin/Python

En este caso, el shebang especifica la ruta completa al intérprete de pitón objetivo en lugar de obtener uno de la variable de entorno del sistema.

Tenga en cuenta que para evitar incluir manualmente la ruta al intérprete, ya que esto puede conducir a errores si el usuario no tiene un intérprete instalado en la ubicación establecida.

Para un script que ejecuta el código Python 2, puede agregar un shebang como se muestra:

#!/usr/bin/env python2

Otra función común y práctica de un shebang es decirle al sistema que un archivo es ejecutable sin llamar a Python en el archivo.

Tomemos un ejemplo simple. Supongamos que tenemos un archivo llamado Hello.py,

$ touch hola.py
$ nano hola.py

Agregue una declaración de impresión simple como se muestra:

Imprimir ("Hola, compañeros geeks!")

Guarde y cierre el archivo.

Sin un shebang, tenemos que llamar al programa Python para ejecutar el archivo:

$ python hola.py
Hola, compañeros geeks!

Sin embargo, si agregamos un shebang

#!/usr/bin/env python3
Imprimir ("Hola, compañeros geeks!")

Podemos ejecutar el script como:

$ chmod +x hola.py
ps ./Hola.py

Lo bueno de usar el shebang env es que es multiplataforma. Esto significa que no tiene que modificar el shebang para cada sistema.

¿Realmente necesito un shebang?

Aunque los shebangs son útiles y pueden proporcionar un beneficio adicional a sus scripts, no es necesario que los use.

Por ejemplo, si desea ejecutar un script como ejecutable independiente, tener un shebang puede ser muy beneficioso.

Sin embargo, si necesita compartir su código con otros desarrolladores, incluido un shebang puede conducir a problemas, ya que no todos los desarrolladores comparten un entorno similar.

Por lo tanto, antes de incluir un shebang en su guión, piense en cómo y quién va a ejecutar su guión.

Clausura

En este artículo, discutimos el concepto de un shebang y su papel en los guiones. También ilustramos cómo trabajar con el shebang python.