В чем разница между этими двумя питонскими шебангами? - PullRequest
55 голосов
/ 19 апреля 2011

Раньше я использовал шебанг

#!/usr/bin/env python

Когда лучше использовать

#!/usr/bin/python

В чем разница между ними?

1 Ответ

69 голосов
/ 19 апреля 2011

#!/usr/bin/python жестко задан, чтобы всегда запускать /usr/bin/python, в то время как #!/usr/bin/env python будет работать в зависимости от того, что python будет по умолчанию в вашей текущей среде (это будет учитывать, например, $PATH, вы можете проверить, какой интерпретатор Python будет использоваться с which python).

Второй способ (#!/usr/bin/env python) предпочтителен, так как он не зависит от конкретной установки. Он будет работать, например, с virtualenv установками или системами, в которых нет /usr/bin/python, а только, например, /usr/local/bin/python.

...