2010-03-24 20 views
6

Hasta el momento de ejecutar un programa en Python, estoy usandomaneras de ejecutar Python

> python file.py 

Quiero ejecutar la secuencia de comandos de Python simple uso de nombre de archivo, como

> file.py 

similar a los scripts de shell como

> sh file.sh 
> chmod +x file.sh 
> ./file.sh 

o mover file.sh a bin y luego ejecutar

> file.sh 
+0

gracias guyz ... está claro ahora. –

Respuesta

17

poner esto en la parte superior de la secuencia de comandos de Python:

#!/usr/bin/env python 

El #! parte se llama shebang, y el comando env simplemente ubicará python en su $PATH y ejecutará el script a través de él. También puede codificar la ruta del intérprete de Python, pero llamar al /usr/bin/env es un poco más flexible. (Por ejemplo, si está utilizando virtualenv, ese intérprete de python se encontrará en su $PATH).

+6

* y * debe establecer el bit ejecutable: 'chmod u + x archivo.py' ... – Boldewyn

+0

También puede orientar versiones específicas con" #!/Usr/bin/env python2.6 "o" #!/Usr/bin/env python3.0 "que podría ser una buena idea dada la división 2.6+ y 3.0+. –

2

También puede orientar la ubicación específica del intérprete de python que desea utilizar, si necesita especificarlo (p. Ej. , que está utilizando diferentes versiones) Sólo tiene que añadir a la línea shebang (aquella que comience con #!) la ruta completa del intérprete que wan a utilizar, por ejemplo

#!/home/user/python2.6/bin/python 

Pero, en general, es mejor simplemente para tomar el valor predeterminado usando /usr/bin/env, como dice Mike, ya que no tiene que depender de una ruta en particular.

Cuestiones relacionadas