Como outros observaram, a linha shebang deve se referir a um arquivo real que existe.
Como sistemas diferentes podem ter binários instalados em locais diferentes, isso é uma fraqueza da portabilidade de scripts.
Uma maneira de resolver isso é com links, como outros já mencionaram.
Outra maneira é editar o script para se referir ao caminho certo em seu sistema.
Mais uma maneira de contornar isso é usar /usr/bin/env
, que encontrará o executável em seu PATH.
Então, em vez de:
#!/usr/bin/python
Escreva:
#!/usr/bin/env python
Dessa forma, as pessoas só precisam vincular /usr/bin/env
se necessário, em vez de cada executável individual.
É claro que o executável ainda precisa estar no seu PATH para que isso funcione ...
Como você pode ver, não há solução 100% limpa. Lembre-se: "Pior é melhor" (: