web-dev-qa-db-fra.com

Shebang approprié pour Python

J'utilise généralement la déclaration Shebang suivante dans mes scripts Python:

#!/usr/bin/python

Récemment, je suis tombé sur cette déclaration de Shebang:

#!/usr/bin/env python

Dans la documentation du script, il a été noté que l'utilisation de ce formulaire est "plus portable".

Que signifie cette déclaration? Comment se fait-il qu'il y ait un espace au milieu du chemin? Contribue-t-elle réellement à la protabilité?

53
Adam Matan
#!/usr/bin/env python

est plus portable car en général le programme /usr/bin/env peut être utilisé pour "activer" la commande souhaitée sans chemin complet.

Sinon, vous devrez spécifier le chemin complet de l'interpréteur Python, qui peut varier.

Donc, peu importe si l'interpréteur Python était en /usr/bin/python ou dans /usr/local/bin/python ou dans votre répertoire personnel, en utilisant #!/usr/bin/env python marchera.

67
jh314