I have for a long time wondered why I'm supposed to use this in the top of my executable python files:
Today I figured out why.
The alternative, which you see a lot around is something like this:
Here's why it's better to use
env rather than the direct path to the executable: virtualenv. Perhaps there are plenty of other reasons the Linux experts can teach me but this is now my first obvious benefit of doing it the way I'm supposed to do it.
If you create a virtualenv, enter it and activate it so that writing:
starts the python executable of the virtual environment, then this will be respected if you use the
env shebang header. Good to know.