Je souhaite python programmes s'exécuter dans une fenêtre en cliquant sur une icône.
C'est le premier jour de mon apprentissage et du type de codage et d'Ubuntu. Nous apprécions donc les explications excessives et les détails supplémentaires.
Exemple de code que j'utilise
print("Game Over")
input("\n\nPress the enter key to exit")
Fonctionne correctement dans IDLE, mais lorsque je clique sur l'icône du fichier .py, un éditeur s'ouvre à la place du programme/de la fenêtre.
Étapes que j'ai faites jusqu'à présent
Exemples
#!/usr/local/bin/python
#!/usr/bin/env python
CHMOD X
Je ne comprends ni ne sais où utiliser.
J'utilise Ubuntu 14.04 et Python 3
Merci d'avance.
Bien que votre question puisse être sur le bord pour plus d'une raison (trop large, hors sujet, plus d'un sujet par question, sur le bord d'un certain nombre de quasi-doublons), je répondrai à la (aux) question (s).
Votre script ne contient que du texte et doit être exécuté dans Idle
ou dans une fenêtre de terminal. Cela signifie que si vous voulez l'exécuter en double-cliquant sur une icône, vous devez créer un fichier .desktop
, dans lequel est défini pour exécuter le script dans une fenêtre de terminal.
Ces fichiers .desktop
font partie de pratiquement toutes les applications à interface graphique installées sous Ubuntu.
Un exemple très basique, digne de votre script:
[Desktop Entry]
Name=Test
Exec=/home/jacob/Bureaublad/test.py
Terminal=true
Type=Application
Les lignes les plus intéressantes sont:
Exec=/home/jacob/Bureaublad/test.py
dans lequel la commande pour exécuter votre script est définie.
Découvrez comment créer la commande, que le script soit exécutable ou non, en utilisant l'extension de langue Shebang, voir ici .
et la ligne:
Terminal=true
Cela signifie que le script doit être exécuté dans une fenêtre de terminal.
Vous pouvez étendre votre fichier .desktop
avec a.o. une icône et beaucoup d’options, en fonction de l’utilisation que vous en faites, voir ici .
Comment utiliser le fichier .desktop
test.desktop
. Editez la commande dans la ligne Exec=/home/jacob/Bureaublad/test.py
, en fonction du lien que j'ai ajouté pour créer des commandes permettant d'exécuter un script.Si vous utilisez le fichier à partir de votre bureau, rendez-le exécutable avec la commande:
chmod +x /path/to/Test.desktop
Vous pouvez également copier (déplacer) le fichier .desktop
vers ~/.local/share/applications
pour le rendre disponible dans Dash. Les applications installées globalement stockent leurs fichiers .desktop
dans /usr/share/applications
. Dans les deux derniers répertoires, il n'est pas nécessaire de rendre le fichier .desktop
exécutable.
Les lignes:
#!/usr/local/bin/python
#!/usr/bin/env python
are shebangs ; la première ligne d'un script, indiquant au shell comment l'exécuter si le script est exécutable et que vous l'exécutez sans python
avant le chemin d'accès au script. Puisque vous utilisez python3
, le Shebang dans vos scripts devrait normalement être:
#!/usr/bin/env python3
Plus sur cela, et la relation entre Shebang et le commandement dans le lien ci-dessus.
CHMOD X (?) chmod +x
est probablement ce que vous voulez dire. Comme expliqué ci-dessus, vous pouvez créer un fichier exécutable avec la commande:
chmod +x /path/to/file
Comme mentionné par d'autres, chmod + x est nécessaire pour rendre le programme exécutable. Par exemple, pour le programme hello.py, vous devez saisir ceci dans le terminal:
$ chmod + x hello.py
Maintenant, je ne sais pas si cela est vrai dans les versions précédentes, mais dans Ubuntu 16.04 LTS, il est nécessaire que le comportement des icônes soit défini pour permettre de cliquer sur l'icône pour exécuter le programme. Vous pouvez le faire de la manière suivante:
Accédez à une fenêtre du navigateur de fichiers, déplacez le curseur de la souris vers le haut de l'écran et sélectionnez Édition> Préférences> Comportement, puis sélectionnez "Exécuter les fichiers texte exécutables à leur ouverture" ou "Demander à chaque fois".
De plus, pour empêcher le terminal de se fermer à la fin du programme (par exemple, si vous souhaitez conserver la sortie du programme sur le terminal à l'écran), vous devez mettre cette ligne à la fin du programme en python3.5 :
contribution()
J'espère que cela t'aides.