Подтвердить что ты не робот

Правильный shebang для Python script

Я обычно использую следующую декларацию shebang в моих скриптах Python:

#!/usr/bin/python

Недавно я столкнулся с этой декларацией shebang:

#!/usr/bin/env python

В документации script было отмечено, что использование этой формы "более переносимо".

Что означает это объявление? Как получилось место в середине пути? Действительно ли это способствует устойчивости?

4b9b3361

Ответ 1

#!/usr/bin/env python

более портативен, поскольку в общем случае программа /usr/bin/env может использоваться для "активации" нужной команды без полного пути.

В противном случае вам нужно будет указать полный путь интерпретатора Python, который может меняться.

Поэтому независимо от того, был ли интерпретатор Python включен в /usr/bin/python или в /usr/local/bin/python или в вашем домашнем каталоге, использование #!/usr/bin/env python будет работать.