Si vous essayez d'exécuter la commande en tant que
$ test.py
l'erreur n'a peut-être rien à voir avec le shebang. Au lieu de cela, le répertoire dans lequel test.py réside n'est pas dans votre PATH
. Essayez
$ ./test.py
pour contourner PATH
recherche.
(Cela s'ajoute à la vérification que le script lui-même est exécutable.)
Sur la page de documentation Python, il est écrit :
Pour utiliser facilement les scripts Python sous Unix, vous devez les rendre exécutables, par ex. avec
$ chmod +x script et placez une ligne Shebang appropriée en haut du script. Un bon choix est généralement
#!/usr/bin/env pythonqui recherche l'interpréteur Python dans tout le PATH. Cependant, certains Unix peuvent ne pas avoir la commande env, vous devrez donc peut-être coder en dur/usr/bin/python comme chemin d'interprétation.
Je ne sais pas si cela s'applique à vous ou non.
En plus d'exécuter le script avec un point précédent ou de le rendre exécutable, il peut y avoir un autre problème :
Si vous essayez d'utiliser un script écrit avec un éditeur Windows, il peut contenir des fins de ligne Windows. Les supprimer peut faire fonctionner à nouveau le shebang.
Pour supprimer ces fins de ligne, reportez-vous à Comment convertir une fin de ligne Windows en fin de ligne Unix (CR/LF en LF) par exemple.
Voir aussi mes remarques générales sur les évaluations de shebang ratées dans mon autre réponse.