Seite 1 von 1

[Anfängerfrage]Problem:Python Scripte über D-Klick ausführen

Verfasst: Donnerstag 18. Juni 2015, 21:26
von Schalterdruecker
Guten Abend liebe Forengemeinde,

ich programmiere jetzt schon ein ganzen weilchen mit Python unter Ubuntu und komme mit der Syntax etc. gut klar. Bisher habe ich alle meine Scripte so programmiert, dass ich sie übers Terminal aufrufe. Nun habe ich aber aus gegebenem Anlass das Problem, dass ich ein Scipt schreiben muss, welches mit einer GUI arbeitet -- und das ganze auch noch auf einem Raspberry Pi mit Wheezy.

Ich habe mir also ein paar Tutorials angeschaut und erstmal versucht, mit tkinter ein Fenster zu generieren. Der Quellcode steht unten an:

Code: Alles auswählen

#!/usr/bin/python

import tkinter
top = tkinter.Tk()
#space for code
top.mainloop
Wie man sieht, ist das ganze recht simpel.

Ich habe die Datei mit chmod +x ausführbar gemacht. Nichtsdestotrotz kann ich die Datei nicht per Doppelklick ausführen, über das Dialogfeld "Öffnen mit" werden mir nur Testeditoren oder Wine angeboten. Das ganze als Anwendung öffnen geht irgendwie nicht. Ich bin jetzt schon einmal quer durchs Forum gewildert, finde aber keine Frage, die mein Problem zufriedenstellend aufgreift/löst ...
Ganz nebenbei hätte ich hier noch die Frage, ob es möglich ist, anstelle des #!usr/bin/python dem System auch irgendwie sagen zu können, dass die Datei im (LX)Terminal zu öffnen ist.

Ich will keine Patentlösung, ein Stoß in die richtige Richtung (evtl. ein Link oder Guide) reicht mir völlig.

Grüße,
Manuel

Re: [Anfängerfrage]Problem:Python Scripte über D-Klick ausfü

Verfasst: Freitag 19. Juni 2015, 06:08
von mutetella
@Schalterdrucker
`mainloop` ist eine Funktion, die ausgeführt werden muss. Es sollte also ``top.mainloop()`` heißen. Der shebang hat nichts damit zu tun, wo Dein Skript ausgeführt wird. Mit ``#!/usr/bin/python`` informierst Du das System lediglich darüber, dass das Skript über den Python Interpreter ausgeführt werden muss. Und wenn Du möchtest, dass die Ausführung innerhalb eines Terminals stattfinden soll, dann verwende kein GUI Framework bzw. leite die Ausgabe an `stdout` weiter, was die `print` Funktion z. B. so macht.

mutetella

Re: [Anfängerfrage]Problem:Python Scripte über D-Klick ausfü

Verfasst: Freitag 19. Juni 2015, 06:39
von snafu
@mutetella: Man kann ja trotzdem wollen, dass ein Programm im Terminalfenster aufgerufen wird und von dort aus die grafische Oberfläche gestartet wird. Dazu legt man unter Linux meistens eine *.desktop-Datei an. Entweder per Hand oder unter Nutzung der Möglichkeiten seiner Desktop-Umgebung (z.B. KDE oder GNOME).

Re: [Anfängerfrage]Problem:Python Scripte über D-Klick ausfü

Verfasst: Samstag 20. Juni 2015, 19:37
von BlackJack
Mal so nebenbei passt die She-Bang-Zeile nicht so ganz zum Code weil der `tkinter` importiert (Python 3) aber versucht den mit ``/usr/bin/python`` (Python 2) auszuführen.

Re: [Anfängerfrage]Problem:Python Scripte über D-Klick ausfü

Verfasst: Donnerstag 2. Juli 2015, 08:51
von cheffe
ich würde das thema nochmal aufgreifen, denn ich habe anscheinend immernoch genau das gleiche problem.
ich arbeite jedoch unter linux mint xfce 16

was genau muss denn z.B. in die erste zeile?
#!/usr/bin/python
oder
#!/usr/bin/python3.4

Re: [Anfängerfrage]Problem:Python Scripte über D-Klick ausfü

Verfasst: Donnerstag 2. Juli 2015, 09:03
von cofi
Je nachdem mit welchem Programm dein Quelltext ausgefuehrt werden soll.
Ersteres wird wahrscheinlich ein Symlink auf ein Python2 sein, letzteres offensichtlich ein Python3.

Letztlich aber weder noch:

Code: Alles auswählen

#python2
#!/usr/bin/env python2

#python3
#!/usr/bin/env python3