Ответ 1
#!/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
.