Salut, On Sat, 23 Apr 2011 17:03:29 +0200, Alain Rpnpif wrote:
Bonjour,Depuis toujours quand je mettais en première ligne d'un script python :#!/usr/bin/python Python était lancé sur le script.Pourquoi maintenant (Debian Squeeze), la commande ./monscript.py donne :line 1: #!/usr/bin/python: Aucun fichier ou dossier de ce type $ sh ./monscript.py ./monscript.py: 1: #!/usr/bin/python: not found $ bash ./monscript.py ./monscript.py: line 1: #!/usr/bin/python: Aucun fichier ou dossier de ce type $ which python /usr/bin/python python monscript.py marche. Je ne comprends pas. Auriez-vous une explication ?
À tout hasard, est-ce que ton script aurait pu transiter par une machine Windows ou bien être transmis par mail ?
Dans ce cas, il est possible que les fins de ligne Unix (LF) aient été remplacés par des fins de ligne Windows (CR-LF). Si c'est le cas, la première ligne de ton script est vue comme
#!/usr/bin/python<CR>et c'est donc "/usr/bin/python<CR>" qui est cherché au lieu de "/usr/bin/python".
Pour vérifier, affiche ton script avec un éditeur hexadécimal (ou tape "od -c -tx1 monscript.py" dans un terminal) et regarde si les "\n" sont précédés par des "\r".
Au pire, lance simplement un "dos2unix monscript.py" : si le soucis est bien là, ça le réglera (et quoi qu'il en soit, ça ne casse rien).
A+ Jean-Jacques