2014-10-19 23:38:42 +0000 2014-10-19 23:38:42 +0000
41
41

Ejecutar scripts de Python sin invocar explícitamente `python`.

Estoy usando Debian Linux.

Me preguntaba si hay una manera de configurar para ejecutar todos los scripts de Python en la terminal escribiendo script.py (en lugar de python script.py).

Respuestas (4)

60
60
60
2014-10-19 23:47:44 +0000

Hay dos cosas que necesitas hacer:

  • Asegúrate de que el archivo es ejecutable: chmod +x script.py
  • Usar un shebang para que el kernel sepa qué intérprete usar. La línea superior del script debe decir:

Ahora puedes escribir:

./script.py

si el script está en su directorio actual, o:

script.py

si la ubicación del script está en su PATH, o:

path/to/script.py

en caso contrario.

33
33
33
2014-10-19 23:58:24 +0000

Bajo linux puedes simplemente usar el hashbang(aka shebang). Añade la línea

#!/usr/bin/python

si quieres ejecutar el intérprete de python por defecto.

#!/path/to/python[x.x]

para usar alguna versión específica, o

#!/usr/bin/env python

si quieres que el entorno encuentre python por ti.

También se le pedirá que haga el script ejecutable

chmod +x script[.py]
3
3
3
2017-10-31 18:09:01 +0000

Use:

#!/usr/bin/env python

Esto asegurará que el python que el usuario espera que se use será el que ejecute el script. Esto es especialmente importante si el usuario está usando virtualenv para tener una versión específica de python en un entorno determinado.

0
0
0
2018-04-08 19:22:47 +0000

Utiliza una línea shebang en la parte superior de tu script como se indica a continuación:

!/usr/bin/python

Actualice la versión de python apropiada en la que desea ejecutar el script. Por ejemplo, para python 3.6 es

!/usr/bin/python3.6

para el intérprete por defecto

!/usr/bin/python

Nota: Asegúrese de que el script tiene permiso de ejecución.