GNU/Linux >> Tutoriales Linux >  >> Linux

La línea Shebang de Ubuntu Python no funciona

Si está intentando ejecutar el comando como

$ test.py

el error puede no tener nada que ver con el tinglado. Más bien, el directorio en el que reside test.py no está en su PATH . Prueba

$ ./test.py

para omitir PATH buscar.

(Esto es además de asegurarse de que el script en sí sea ejecutable).


En la página de documentos de Python dice:

Para usar fácilmente scripts de Python en Unix, debe hacerlos ejecutables, p. con

$ chmod +x script y coloque una línea Shebang apropiada en la parte superior del script. Una buena elección suele ser

#!/usr/bin/env pythonque busca el intérprete de Python en todo el PATH. Sin embargo, es posible que algunos Unices no tengan el comando env, por lo que es posible que deba codificar/usr/bin/python como la ruta del intérprete.

No sé si esto aplica para ti o no.


Además de ejecutar el script con un punto anterior o hacerlo ejecutable, podría haber otro problema:

Si intenta utilizar una secuencia de comandos escrita con un editor de Windows, es posible que contenga finales de línea de Windows. Quitarlos puede hacer que el shebang vuelva a funcionar.

Para eliminar dichos finales de línea, consulte Cómo convertir el final de línea de Windows en un final de línea de Unix (CR/LF a LF), por ejemplo.

Consulte también mis comentarios generales sobre las evaluaciones shebang fallidas en mi otra respuesta.


Linux
  1. Cambie el directorio de trabajo en Shell con un script de python

  2. ¿El script de Shell funciona bien sin la línea shebang? ¿Por qué?

  3. ¿Cómo ejecutar el script de python en la terminal (ubuntu)?

  4. El comando Conda funciona en el símbolo del sistema pero no en el script bash

  5. Internet no funciona en Anbox en Ubuntu 18.04

El inicio de sesión automático no funciona en Ubuntu 17.10

Red compartida Ubuntu 15.04 no funciona?

¿Bluetooth no funciona en Ubuntu 13.10?

El comando Traceroute no funciona en Ubuntu

El script Nohup para Python no funciona cuando se ejecuta en segundo plano con &

shebang o no shebang