python3 - #/usr/bin/python para que sirve
¿Por qué es ''#!/Usr/bin/env python'' supuestamente más correcto que solo ''#!/Usr/bin/python''? (5)
Alguien sabe esto? Nunca he podido encontrar una respuesta.
Desde wikipedia
Shebangs especifican rutas absolutas a ejecutables del sistema; esto puede causar problemas en sistemas que tienen diseños de sistema de archivos no estándar
A menudo, el programa / usr / bin / env se puede utilizar para eludir esta limitación
Encuentra ''python'' también en / usr / local / bin, ~ / bin, / opt / bin, ... o donde sea que se pueda ocultar.
Puede encontrar esta publicación de interés: http://mail.python.org/pipermail/python-list/2008-May/661514.html
Esta puede ser una mejor explicación: http://mail.python.org/pipermail/tutor/2007-June/054816.html
encuentra el ejecutable de python en su entorno y lo usa. es más portátil porque python puede no estar siempre en / usr / bin / python. env siempre se encuentra en / usr / bin.
Si eres propenso a instalar Python en varios lugares interesantes de tu PATH (como en $PATH
en las típicas shells de Unix, %PATH
en las típicas de Windows), usar /usr/bin/env
satisfará tus caprichos (bueno, en Unix) -al igual que los entornos) al ir directamente a /usr/bin/python
no lo hará. Pero perder el control de la versión de Python en la que se ejecutan tus scripts no es una ganga pura ... si miras mi código, es más probable que comiences con, por ejemplo, #!/usr/local/bin/python2.5
en lugar de abrir y aceptar #!/usr/bin/env python
- asumiendo que el guión es importante, me gusta asegurarme de que se ejecute con la versión específica que he probado y desarrollado, NO es una semi-aleatoria ;-) .