2009-02-10 9 views
25

Estoy tratando de ejecutar un script de python. Funciona bien cuando lo ejecuto:Agregar un shebang provoca No existe ese archivo o error de directorio al ejecutar mi secuencia de comandos python

python2.5 myscript.py inpt0 

El problema comienza cuando agrego un tinglado:

#!/usr/bin/env python2.5 

como resultado:

$ myscript.py inpt0 
: No such file or directory 

Try 2:

#!/usr/local/bin/python2.5 

Resultado de búsqueda:

$ myscript.py inpt0 
: bad interpreter: No such file or directoryon2.5 

Cuando les ejecutan directamente en el terminal que ambos funcionan bien:

$ /usr/local/bin/python2.5 
Python 2.5.4 (r254:67916, Feb 9 2009, 12:50:32) 
[GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-52)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

$ /usr/bin/env python2.5 
Python 2.5.4 (r254:67916, Feb 9 2009, 12:50:32) 
[GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-52)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

¿Alguna pista sobre cómo hacer este trabajo con tinglado?

Respuesta

56

Tuve problemas similares y resultó ser un problema con los finales de línea. ¿Usas terminaciones de línea de windows/linux/mac?

Editar: se olvidó el nombre del script, pero como dice OP, es dos2unix <filename>

+2

Ah Gracias. Un poco de dos2unix myscript.py hizo el truco! – Pe2

+0

feliz de ayudar :) – kender

+1

Si su archivo es UTF8, asegúrese de que no haya [BOM] (https://en.wikipedia.org/wiki/Byte_order_mark) – RandomSeed

Cuestiones relacionadas