Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/05/2007, à 21:58

Goldy

[résolu] Executer un script pyton (débutant)

Bonjour,

Je suis en train d'apprendre le python, mais je butte sur un truc relativement simple qui est la façon dont il est possible d'exécuter un script python sans avoir à le spécifier en ligne de commande. En gros pouvoir l'exécuter en tappant

./script.py

dans un terminal plutôt que

python script.py

(ce qui permet aussi de l'executer avec un double clic).

Alors il semblerait qu'il faille ajouter

#!/usr/bin/python

au début du fichier, mais ça ne fonctionne pas pour moi, j'ai regardé d'autres script pour voir un exemple et bien évidement, je suis tombé la dessus

#!/usr/bin/env python

mais marche pas non plus....... J'ai pourtant autorisé l'exécution du fichier, mais le lancer ne fonctionne pas. Voici mon tout premier script pyton que j'ai fait pour essayer (certains reconnaitrons un exercice du site du zero).

#!/usr/bin/env python
# -*- coding: utf-8 -*-
nombre_de_secondes_par_minutes = 60
nombre_de_secondes_par_heures = nombre_de_secondes_par_minutes*60
nombre_de_secondes_par_jours = nombre_de_secondes_par_heures*24
nombre_de_secondes_par_semaines = nombre_de_secondes_par_jours*7
nombre_de_secondes_par_annees = nombre_de_secondes_par_jours*365
nombre_de_secondes_par_siecles = (nombre_de_secondes_par_annees*100)+(nombre_de_secondes_par_jours*25)

print "Il y a", nombre_de_secondes_par_minutes, "secondes toutes les minutes."
print "Il y a", nombre_de_secondes_par_heures, "secondes toutes les heures."
print "Il y a", nombre_de_secondes_par_jours, "secondes tous les jours."
print "Il y a", nombre_de_secondes_par_semaines, "secondes toutes les semaines."
print "Il y a", nombre_de_secondes_par_annees, "secondes toutes les années."
print "Il y a", nombre_de_secondes_par_siecles, "secondes tous les siécles."
print "J'ai compté !"

raw_input('Appuyez sur entrée pour quitter le programme...')

Alors que faut-il faire pour que ce script s'exécute ?

Merci d'avance.

Dernière modification par Goldy (Le 11/05/2007, à 22:38)

Hors ligne

#2 Le 11/05/2007, à 22:10

lafourmie

Re : [résolu] Executer un script pyton (débutant)

Bonsoir,
pour ma part, pour exécuter un programme python.

Je clique droit sur le fichier, je choisis "ouvrir avec une autre application" et je tape "python"
dans la commande personnalisée.

Essaye déjà pour voir si ça marche.

Hors ligne

#3 Le 11/05/2007, à 22:16

Goldy

Re : [résolu] Executer un script pyton (débutant)

non, ça ne fonctionne pas, en l'absence d'interface graphique, ça n'ouvre pas de terminal. Et puis, l'intérêt c'est que le script soit considéré comme un exécutable par le système, c'est avant tout ça que je cherche à faire.

Hors ligne

#4 Le 11/05/2007, à 22:17

aleph

Re : [résolu] Executer un script pyton (débutant)

> Goldy

Le script me semble correct. Un script dot être exécutable pour le lancer sans avoir besoin d'entrer python dans la ligne de commande.

Un chmod +x script.py pourrait éventuellement débloquer la situation.

#5 Le 11/05/2007, à 22:24

Goldy

Re : [résolu] Executer un script pyton (débutant)

Il était déjà exécutable (via nautilus je l'avais fait) mais j'ai fait la commande et ça ne fonctionne pas. Voici ce que j'obtiens quand je cherche à l'executer :

goldy@goldy-laptop:~/dev$ ./secondes.py 
./secondes.py: line 1: #!/usr/bin/env: Aucun fichier ou répertoire de ce type
./secondes.py: line 3: nombre_de_secondes_par_minutes : commande introuvable
./secondes.py: line 4: nombre_de_secondes_par_heures : commande introuvable
./secondes.py: line 5: nombre_de_secondes_par_jours : commande introuvable
./secondes.py: line 6: nombre_de_secondes_par_semaines : commande introuvable
./secondes.py: line 7: nombre_de_secondes_par_annees : commande introuvable
./secondes.py: line 8: erreur de syntaxe près du jeton `(' inattendu
./secondes.py: line 8: `nombre_de_secondes_par_siecles = (nombre_de_secondes_par_annees*100)+(nombre_de_secondes_par_jours*25)'

Le paradoxe de l'informatique, avec moi ça prend toujours...:(

EDIT : On dirait que y'a une merde juste devant le #

Dernière modification par Goldy (Le 11/05/2007, à 22:28)

Hors ligne

#6 Le 11/05/2007, à 22:36

Goldy

Re : [résolu] Executer un script pyton (débutant)

J'ai trouvé, il s'agissait d'un problème d'encodage de l'utf-8. L'utf-8 ajoute une merde au début des fichiers (j'ai eu ce problème y'a longtemps avec du php), il faut l'encoder en utf-8 cookie (appelé ainsi dans ScIte, l'éditeur que l'utilise).

Enfin voilà, c'est réglé.

Hors ligne

#7 Le 11/05/2007, à 22:38

aleph

Re : [résolu] Executer un script pyton (débutant)

Je sèche... variables d'environnement ?