Alguien sabe esto? Nunca he podido encontrar una respuesta.
Si eres propenso a instalar Python en varios lugares interesantes en tu PATH (como en $PATH
en los shells típicos de Unix, %PATH
en los típicos de Windows), usar /usr/bin/env
acomodará tu capricho (bueno, en Unix (al menos, los entornos similares) mientras va directamente a /usr/bin/python
no. Pero perder el control de la versión de Python con la que se ejecutan tus scripts no es una ganga implacable … si miras mi código es más probable que comiences a verlo, por ejemplo, #!/usr/local/bin/python2.5
en lugar de un #!/usr/bin/env python
abierto y aceptado – asumiendo que el script es importante, me gusta asegurarme de que se ejecute con la versión específica con la que lo he probado y desarrollado, NO uno semi-aleatorio 😉 .
De wikipedia
Los shebangs especifican rutas absolutas a los ejecutables del sistema; Esto puede causar problemas en los sistemas que tienen diseños de sistema de archivos no estándar.
A menudo, el progtwig / usr / bin / env puede usarse para eludir esta limitación
encuentra el ejecutable de Python en tu entorno y lo utiliza. es más portátil porque python no siempre está en / usr / bin / python. env siempre se encuentra en / usr / bin.
Encuentra ‘python’ también en / usr / local / bin, ~ / bin, / opt / bin, … o donde sea que se pueda esconder.
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