#1 Le 23/04/2010, à 12:47
- mansonboy
Problem pour excuser un script python
Bonjour, j'ai un problem avec python. Voulant m'y remettre je fait un script vraiment tout simple :
#!/usr/bin/python
#-*- coding: utf8 -*-
print 'bonjour'
Mais j'ai ceci comme retour d'erreur quand je veux l'exécuter :
#!/usr/bin/python: Aucun fichier ou dossier de ce type
Warning: unknown mime-type for "bonjour" -- using "application/octet-stream"
Error: no such file "bonjour"
Pourquoi aucun fichier de ce type alors qui y est bien (j'ai verifier).
J'ai tenter également avec #!/usr/bin/python2.5 sa change rien...
Hors ligne
#2 Le 23/04/2010, à 12:57
- bejazzy
Re : Problem pour excuser un script python
Bonjour,
Essaye
#!/usr/bin/env python
Ça devrait fonctionner.
Dell Inspiron 1525 - #!CrunchBang Linux 10 Statler Xfce --- #! FR
Hors ligne
#3 Le 23/04/2010, à 13:01
- mansonboy
Re : Problem pour excuser un script python
Je te remercie! ça marche parfaitement bien . Mais une idée pour sa ne marchait pas?
Hors ligne
#4 Le 24/04/2010, à 10:58
- bejazzy
Re : Problem pour excuser un script python
Je ne suis pas très sûr de moi, mais voici comme je le comprends:
Lorsqu'un script est rendu exécutable, le système essaie de l'exécuter en Shell, "environnement" par défaut de ton système. Pour demander à ton système d'exécuter le script en Python, on doit l'en avertir. C'est comme si le script était exécuter dans le mode Python interactif, d'où le '/usr/bin/env'.
L'erreur que tu avais n'est pas liée à une erreur Python mais à une erreur Shell qui ne comprend pas ce qu'est '#!/usr/bin/python'.
Je ne sais pas si j'ai été très très clair. Et n'oublie pas de changer le titre de ton fil et de mettre [Résolu].
Merci.
Dell Inspiron 1525 - #!CrunchBang Linux 10 Statler Xfce --- #! FR
Hors ligne
#5 Le 26/04/2010, à 12:01
- brulouni
Re : Problem pour excuser un script python
Il n'y a aucun problème avec le
#!/usr/bin/python
Sauf si python n'est pas à cet endroit.
Le #! indique seulement avec quoi le script sera interprété.
La commande env sert à pointer sur python quelle que soit l'installation.
"Tout ce qui est simple est faux, tout ce qui est compliqué est inutile."
~ Paul Valery
Hors ligne
#6 Le 26/04/2010, à 12:33
- yugo
Re : Problem pour excuser un script python
mais alors où se cache python?
Je suis curieux de connaître le résultat de
which python
Dans la vie il y a 3 sortes d'imbéciles: ceux qui doutent de tout et ceux qui doutent de rien
Hors ligne
#7 Le 26/04/2010, à 15:49
- bejazzy
Re : Problem pour excuser un script python
Ok, autant pour moi. Je comprends mieux la différence maintenant. Merci.
Malgré tout, le script de mansonboy renvoie une erreur. La seule explication, c'est que le chemin /usr/bin/python soit erroné hors il a vérifié qu'il y était...
Second question à propos du /usr/bin/env, dans ce cas là, s'il y a plusieurs Python installés à des endroits différents, lequel prend-il, le premier exécutable 'python' du PATH? Ça doit être ça.
Dell Inspiron 1525 - #!CrunchBang Linux 10 Statler Xfce --- #! FR
Hors ligne
#8 Le 30/05/2014, à 11:50
- totor08
Re : Problem pour excuser un script python
Je te remercie! ça marche parfaitement bien . Mais une idée pour sa ne marchait pas?
bonjour !
j'ai fait un copier/coller du petit bout de code et j'ai eu exactement le même problème. J'ai comparé par rapport à mes scripts en python et je ne comprenais pas pourquoi ce script là ne marchait pas. En regardant le script en hexadécimal, j'ai pu voir que le fichier commençait par 3 caractères avant le # de la première ligne.
En effaçant la ligne et en la retapant, le script marche maintenant parfaitement.
Thierry
Dernière modification par totor08 (Le 30/05/2014, à 15:27)
Hors ligne
#9 Le 30/05/2014, à 18:23
- pingouinux
Re : Problem pour excuser un script python
Bonjour,
D'accord avec totor08. Les 3 caractères en question sont ef bb bf. C'est ce qu'on appelle le BOM (Byte Order Mark), qui indique comment est encodé le fichier (ici, UTF-8).
Voir Byte Order Mark
Hors ligne
#10 Le 30/05/2014, à 19:07
- moissan
Re : Problem pour excuser un script python
ça fait peur ces caractère invisible ...
avec quoi visualise tu le contenu hexadecimal entier ?
avec geany on peu lui demander d'afficher les caractere caché : tab space cr lf ... mais pas vu les hexa bizares
Hors ligne
#11 Le 30/05/2014, à 19:47
- pingouinux
Re : Problem pour excuser un script python
@moissan #10 :
Tu copies la 1ère ligne à la souris, puis
hd <<<'coller_la_ligne_ici'
Exemple
$ hd <<<'#!/usr/bin/python'
00000000 ef bb bf 23 21 2f 75 73 72 2f 62 69 6e 2f 70 79 |...#!/usr/bin/py|
00000010 74 68 6f 6e 0a |thon.|
00000015
Pour voir un fichier
hd fichier
ou
hd <fichier
Hors ligne
#12 Le 30/05/2014, à 20:14
- moissan
Re : Problem pour excuser un script python
merci ...une commande linux utile en plus ...
autre détail : le titre du sujet , ça ne serait pas plutôt exécuter que excuser ?
sur ce forum il est possible d’éditer ses ancien message y compris le titre
Hors ligne
#13 Le 30/05/2014, à 20:30
- moissan
Re : Problem pour excuser un script python
vraiment bizare tout ça
denis@Compaq-Mini:~$ hd <<<'#!/usr/bin/python'
00000000 ef bb bf 23 21 2f 75 73 72 2f 62 69 6e 2f 70 79 |...#!/usr/bin/py|
00000010 74 68 6f 6e 0a |thon.|
00000015
denis@Compaq-Mini:~$ hd <<<'#!/usr/bin/python'
00000000 23 21 2f 75 73 72 2f 62 69 6e 2f 70 79 74 68 6f |#!/usr/bin/pytho|
00000010 6e 0a |n.|
le premier est fait par copier coller du script montré au debut de ce sujet , et le 2eme est fait en tapant moi même les caractère visible
ça veut dire que ces caractère invisible sont invisible aussi dans le bbcode ????
Hors ligne
#14 Le 30/05/2014, à 21:02
- moissan
Re : Problem pour excuser un script python
Bonjour, j'ai un problem avec python. Voulant m'y remettre je fait un script vraiment tout simple :
#!/usr/bin/python #-*- coding: utf8 -*- print 'bonjour'
de plus en plus bizare : quand une console a fait un hd de la premiere ligne du message du haut du sujet , elle met ces 3 caratere caché devant tout ce qu'on copie
si je copie un mot ordinaire et fait un hd dans une autre console , il n'y a pas de caractere caché dans la nouvelle console , mais il y en a avec hd dans la console contaminé
si je fait un hd de la premiere ligne sur la 2eme console , elle se met aussi a voir ces 3 lettre caché sur tous les collage
mais la citation du premier message ne fait pas cet effet : il faut copier l'original au debut du sujet ...
aussi bizare ces 3 lettre caché sont aussi enregistré dans mousepad ou geany ....
Dernière modification par moissan (Le 31/05/2014, à 04:49)
Hors ligne
#15 Le 31/05/2014, à 09:32
- moissan
Re : Problem pour excuser un script python
en demandant ef bb bf a google on a une reponse
https://fr.wikipedia.org/wiki/Indicateu … des_octets
conclusion ce BOM est en général ajouté par le bloc note windows : voila donc pourquoi il ne faut pas l'utiliser , et préférer notepad++ : je croyais que c'était pour une histoire de cr lf , mais ce BOM en debut de fichier est plus grave car il se met devant le # et bloque tout
les editeur linux ne rajoutent pas ce BOM mais le transmettent sans rien dire si il y est ... et le bloc note le transmet sans rien dire aussi
Hors ligne
#16 Le 31/05/2014, à 11:10
- moissan
Re : Problem pour excuser un script python
l'editeur de texte geany a une case a cocher pour mettre un BOM
si la case n'est pas coché il suprime le BOM d'un fichier qui en a un
menu "document" "Ecrire le BOM Unicode"
Hors ligne