Se stai tentando di eseguire il comando come
$ test.py
l'errore potrebbe non avere nulla a che fare con lo shebang. Piuttosto, la directory in cui risiede test.py non è nel tuo PATH
. Prova
$ ./test.py
per ignorare PATH
ricerca.
(Questo è in aggiunta per assicurarsi che lo script stesso sia eseguibile.)
Nella pagina dei documenti di Python dice:
Per utilizzare facilmente gli script Python su Unix, è necessario renderli eseguibili, ad es. con
$ chmod +x script e inserire una riga Shebang appropriata all'inizio dello script. Di solito una buona scelta è
#!/usr/bin/env pythonche cerca l'interprete Python in tutto il PATH. Tuttavia, alcuni Unix potrebbero non avere il comando env, quindi potrebbe essere necessario inserire hardcode/usr/bin/python come percorso dell'interprete.
Non so se questo vale per te o no.
Oltre a eseguire lo script con un punto precedente o renderlo eseguibile, potrebbe esserci un altro problema:
Se si tenta di utilizzare uno script scritto con un editor di Windows, potrebbe contenere terminazioni di riga di Windows. La rimozione di questi può far funzionare di nuovo lo shebang.
Per rimuovere tali terminazioni di riga, fai riferimento a Come convertire Windows end of line in Unix end of line (CR/LF to LF) per esempio.
Vedi anche le mie osservazioni generali sulle valutazioni shebang fallite nell'altra mia risposta.