usr sirve que python3 para python bash

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.



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 ;-) .