Pokud se pokoušíte spustit příkaz jako
$ test.py
chyba nemusí mít nic společného s shebangem. Adresář, ve kterém se nachází test.py, není ve vašem PATH
. Zkuste
$ ./test.py
obejít PATH
vyhledávání.
(To je navíc k zajištění toho, že samotný skript je spustitelný.)
Na stránce python docs je napsáno:
Chcete-li snadno používat skripty Python na Unixu, musíte je nastavit jako spustitelné, např. s
$ chmod +x skript a vložte příslušný řádek Shebang na začátek skriptu. Dobrá volba je obvykle
#!/usr/bin/env python which hledá interpret Pythonu v celé PATH. Některé Unices však nemusí mít příkaz env, takže možná budete muset zadat hardcode/usr/bin/python jako cestu interpretu.
Nevím, jestli se vás to týká nebo ne.
Kromě spuštění skriptu s předchozí tečkou nebo jeho vytvoření spustitelným může nastat další problém:
Pokud se pokusíte použít skript napsaný pomocí editoru systému Windows, může obsahovat zakončení řádků systému Windows. Když je odstraníte, může to Shebang znovu fungovat.
Chcete-li takové konce řádků odstranit, přečtěte si například Jak převést konce řádků Windows v Unixu (CR/LF na LF).
Viz také mé obecné poznámky k neúspěšným hodnocením shebang v mé druhé odpovědi.