A veces, si la respuesta no es muy clara (quiero decir que no puede decidir si sí o no), entonces no importa demasiado y puede ignorar el problema hasta que la respuesta sea clara.
El #!
único propósito es lanzar el script. Django carga las fuentes por sí solo y las usa. Nunca necesita decidir qué intérprete debe usarse. De esta manera, la #!
realidad no tiene sentido aquí.
Generalmente, si es un módulo y no se puede usar como un script, no hay necesidad de usar el #!
. Por otro lado, una fuente de módulo a menudo contiene if __name__ == '__main__': ...
al menos algunas pruebas triviales de la funcionalidad. Entonces el #!
tiene sentido de nuevo.
Una buena razón para usarlo #!
es cuando usa los scripts Python 2 y Python 3: deben ser interpretados por diferentes versiones de Python. De esta manera, debe recordar qué python
debe usarse al iniciar el script manualmente (sin el #!
interior). Si tiene una mezcla de tales scripts, es una buena idea usar el #!
interior, hacerlos ejecutables y ejecutarlos como ejecutables (chmod ...).
Al usar MS-Windows, #!
no tenía sentido, hasta hace poco. Python 3.3 presenta un Lanzador de Python de Windows (py.exe y pyw.exe) que lee la #!
línea, detecta las versiones instaladas de Python y usa la versión correcta o explícitamente deseada de Python. Como la extensión se puede asociar con un programa, puede obtener un comportamiento similar en Windows como con el indicador de ejecución en sistemas basados en Unix.