Page 1 sur 1
[RESOLU] - shebang - Python3
Posté : mar. 18 août 2015 08:57
par phdenaujan
Bonjour à tous,
J'ai un problème pour lancer un script avec la commande
Le shebang est :
Code : Tout sélectionner
#! /usr/bin/python3
# -*- coding: utf8 -*-
#Je ne veux pas me lancer
La réponse que je reçois en retour est :
-bash: ./monscript.py : /usr/bin/python3^M : mauvais interpréteur: Aucun fichier ou dossier de ce type
J'ai vérifié la position de python3 avec "which python3" et la réponse est bien "/usr/bin/python3"
En plus de comprendre, la finalité est de le lancer automatiquement depuis /etc/rc.local afin de supprimer le skeleton (qui ne fonctionne plus d'ailleurs).
Bonne journée,
Re: shebang - Python3
Posté : mar. 18 août 2015 11:46
par destroyedlolo
Salut,
Ton problème est la
/usr/bin/python3^M
Tu as due éditer ton texte depuis m$-windows : dans ce cas, il faut que tu sauvegardes en mode
Unix sinon il rajoute des CTRL-M en fin de ligne.
Voila

Re: shebang - Python3
Posté : mar. 18 août 2015 12:03
par phdenaujan
Merci pour ta réponse. Je ne comprenais pas ce que "^M" faisait là. J'essaye ça dans les minutes qui suivent.
Re: shebang - Python3
Posté : mar. 18 août 2015 12:55
par phdenaujan
Edité depuis IDLE directement sur le RPI, marche pas, même erreur.
Le programme se lance lorsque je supprime le !. La ligne devient donc
Par contre en réponse j'ai une tripotée d'erreur du type
ligne10: import : commande introuvable
.
Pour info, mon script est dans /home/pi. Le déplacer dans /opt ou /usr/bin a donné le même résultat.
Re: shebang - Python3
Posté : mar. 18 août 2015 16:48
par destroyedlolo
phdenaujan a écrit :Edité depuis IDLE directement sur le RPI, marche pas, même erreur.
Peux-tu faire une copie d'écran ? S'il crie après un ^M ... c'est qu'il reste un retour chario à la fin de la ligne (je crois qu'il existe un programme nommé Dos2Unix ou qq chose du genre qui fait ce genre de conversions).
phdenaujan a écrit :Le programme se lance lorsque je supprime le !. La ligne devient donc
Par contre en réponse j'ai une tripotée d'erreur du type
ligne10: import : commande introuvable
.
Heu, oui, là c'est normal :
- le #! indique au shell que tu veux changer d'interpréteur, en l'occurence vers python
- avec #, tu reste dans le shell, le # seul indique que la ligne est un commentaire
phdenaujan a écrit :Pour info, mon script est dans /home/pi. Le déplacer dans /opt ou /usr/bin a donné le même résultat.
Normal aussi, ce n'est pas un pb de path mais simplement que
/usr/bin/python3^M n'existe pas.
Re: shebang - Python3
Posté : mar. 18 août 2015 18:41
par phdenaujan
Heu, oui, là c'est normal :
Effectivement, sans # !!!...
Puisque toujours le fameux "^M" j'ai fais un simple copier/coller de tout le script (hors première ligne), réécris la première et, trop cool, ça marche...
Merci pour ton aide Destroyedlolo.
Re: [RESOLU] - shebang - Python3
Posté : mar. 18 août 2015 20:51
par destroyedlolo
welcome
