#1 Le 07/10/2018, à 14:54
- fernand1
(RESOLU) passer un programme python de gedit au terminal ?
Bjr à tous,
Je me lance dans la programmation en python qui s'affiche correctement dans le terminal et qui fonctionne correctement.
J'ai écrit un simple programme dans gedit
par ex:
print"hello"
2+2
4*3
j'enregistre par un clic droit et en mettant comme extension au nom .py (test.py)
je clic sur propriété et permissions, je clic sur la phrase "autoriser ce fichier à être un programme"
Je clic sur l'icone obtenue, gedit s'ouvre mais n'exécute pas le programme,il affiche simplement le listing que j'avais tapé.
dans le terminal j'entre (après le sigle $) le chemin du fichier py sous la forme /home/yvon1/Bureau/test.py
le terminal m'affiche:
ligne 1: print hello: commande introuvable
ligne 2: 2+2: commande introuvable
ligne 3: 4*3: commande introuvable
Apparemment, il ne prend pas ces lignes comme un programme.
Il me semble que lorsque je clic sur la phrase "autoriser ce fichier à être un programme",il n'en tient pas compte.
Lorsque j'ai cliqué sur cette option, je ne vois pas de case "valider", je ferme tout simplement ce tableau.
Si je le rouvre plus tard, l'option est toujours bien cliquée.
Qui peut m'éclairer ?
Dernière modification par fernand1 (Le 07/10/2018, à 18:27)
Hors ligne
#2 Le 07/10/2018, à 14:57
- Nuliel
Re : (RESOLU) passer un programme python de gedit au terminal ?
Bonjour,
Ouvre un terminal et entre
python Bureau/test.py
Ca devrait mieux marcher (le terminal prend ton fichier pour un script bash)
Sinon tu peux utiliser un éditeur plus adapté comme idle (celui que j'utilise), gedit avec un plugin pour python, ... Voir https://doc.ubuntu-fr.org/python pour d'autres éditeurs
Dernière modification par Nuliel (Le 07/10/2018, à 14:59)
Hors ligne
#3 Le 07/10/2018, à 15:16
- fernand1
Re : (RESOLU) passer un programme python de gedit au terminal ?
Bjr,
le terminal me répond bienvenue puis réaffiche la ligne de départ terminée par le sigle $, attendant une nouvelle instruction
Hors ligne
#4 Le 07/10/2018, à 15:42
- Roschan
Re : (RESOLU) passer un programme python de gedit au terminal ?
Plusieurs remarques ici :
- par défaut, le gestionnaire de fichiers n'exécute pas les exécutables quand on clique dessus, mais les ouvre. Ce comportement peut être changé dans les préférences.
- aucun script ne peut s'exécuter si tu ne précises pas avec quel interpréteur ça soit se faire : si tu veux vraiment t'embêter à rendre exécutables tous tes fichiers, alors il faut mettre un shebang, c'est à dire il faut que la première ligne du fichier soit
#!/usr/bin/env python3
- il est infiniment plus simple de ne pas rendre les fichiers exécutables, et de faire dans ton terminal la commande
python3 /home/yvon1/Bureau/test.py
- il me semble que l'instruction print requiert des parenthèses :
print("hello")
- 2+2 effectue un calcul, mais ni affectation ni sortie, et ne produira donc aucun effet
Dernière modification par Roschan (Le 07/10/2018, à 15:42)
Hors ligne
#5 Le 07/10/2018, à 18:26
- fernand1
Re : (RESOLU) passer un programme python de gedit au terminal ?
merci
En entrant python3 / home.... ça fonctionne
effectivement print ("hello") requiert des parenthèses si on l'écrit dans gedit.
Si on l'écrit directement dans le,terminal, pas besoin
pour les calculs 2+2 dans le terminal ça fonctionne
tandis que dans gedit il faut print (2+2)
bravo Roschan, ce n'est pas la 1ère fois que vous solutionnez un de mes problèmes
je mets en résolu
Hors ligne
#6 Le 07/10/2018, à 19:43
- melixgaro
Re : (RESOLU) passer un programme python de gedit au terminal ?
salut,
Pour print, ça n'est pas une histoire de gedit ou autre. Heureusement que le langage ne change pas avec l'éditeur de texte. En fait, je pense que quand tu démarres une console python, tu utilises la version 2.7 de python. À cette époque, print fonctionnait sans parenthèses. Lorsque python version 3 est sortie, print est devenue une fonction et donc usage obligatoire des parenthèses (comme n'importe quelle fonction en python).
Au lieu de taper
python
ouvre une console avec
python3
Tape
print "bonjour"
puis
print("bonjour")
Une des deux lignes renverra une erreur.
Linux depuis ~2007. Xubuntu seulement.
Hors ligne
#7 Le 08/10/2018, à 12:26
- fernand1
Re : (RESOLU) passer un programme python de gedit au terminal ?
à Melixgallo
Exact,
Je rentre le texte bonjour avec parenthèses et sans dans gedit
j'appelle le programme sauvé par gedit en entrant dans le terminal python /home/yvon/Bureau/test.py et là les 2 lignes sont lues et affichent 2 x bonjour.
Tandis que si je rentre dans le terminal python3 /home/yvon... , seul le bonjour avec parenthèses s'affiche et l'autre ligne sans ces parenthèses m' envoie une erreur.
Donc en python3 les parenthèses sont obligatoires.
Je mettrai d'office des parenthèses, ainsi que je lance mes programmes en python ou en python3 ça fonctionnera.
Merci d'avoir attirer l'attention sur cette différence entre les 2 pythons.
Hors ligne