Seite 1 von 1
Python-Programm mit Doppelklick öffnen
Verfasst: Freitag 15. März 2019, 19:50
von Tschibasi
Hallo liebe Python-Gemeinde,
ich möchte gern ein Python-Programm mit einem Doppelklick starten. Leider funktioniert das nicht bei mir.
Ich habe schon viel im Internet gesucht und ziemlich viel ausprobiert aber leider ohne Erfolg.
Was ich gemacht habe:
- Berechtigungen habe ich alle auf das Programm
- bei Dateieigenschaften habe ich so ausgewählt, dass es ausführbar ist
- die Shebangzeile habe ich ebenfalls eingefügt: #! /usr/bin/ python3
- auch probiert #!/usr/bin/env python3
Entweder kommt die Fehlermeldung:
Kindprozess konnte nicht ausgeführt werden, Datei oder Verzeichnis nicht gefunden.
oder es kommt gar nichts
Das Programm befindet sich in einem Ordner, weil dort Dateien sind, die das Programm auslesen muss.
Beim Programm ist auch eine GUI enthalten, falls das wichtig ist.
Ich hoffe ihr könnt mir weiterhelfen und vielen Dank schon mal im Voraus
Mit freundlichen Grüßen
Tschibasi
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Freitag 15. März 2019, 20:57
von __blackjack__
@Tschibasi: Wie greifst Du denn auf die Dateien zu? Denn das aktuelle Arbeitsverzeichnis muss ja nicht das sein in dem die Python-Programmdatei liegt. Ist es sogar eher wahrscheinlich *nicht*. Du müsstest Dir den Pfad dort hin dann beispielsweise mit dem `__file__`-Attribut von dem Modul und Funktionen aus `os.path` zusammenbasteln. Oder nicht die Datei doppelklicken sondern eine Starterdatei erstellen, je nach dem auf was für einem System das laufen soll, und dort den Arbeitspfad mit einstellen.
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Freitag 15. März 2019, 21:09
von Tschibasi
Hallo,
Vielen dank für die schnelle Antwort.
Das Programm läuft auf einem Raspberry Pi 3b.
Das Programm liest Textdateien aus und in der GUI werden Bilder angezeigt. Ich habe das so programmiert, das die Textdateien nur im gleichen Verzeichnis sein müssen um sie zu öffnen und auszulesen.
Ok also dein Vorschlag wäre ein kleines Programm schreiben, welches mir dann das Python-Programm öffnet und gleich ausführt??
In welcher Programmiersprache müsste, dieses kleine Programm dann sein? Weil in Python hätte ich den Vorgang wieder, oder nicht?
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Freitag 15. März 2019, 21:21
von __blackjack__
@Tschibasi: Kein Programm sondern was auch immer Deine Desktopumgebung da bietet. Unter KDE und GNOME beispielsweise „Desktop Entry“-Dateien. Da kann man auch das Arbeitsverzeichnis angeben.
Andererseits kannst Du wie gesagt auch den Pfad zu den Dateien im Programm über `__file__` erstellen. Das existiert in (fast) jedem Modul und enthält den Pfad + Dateinamen um zu dem Modul zu gelangen. Wenn man den Dateinamen entfernt, hat man den Pfad zu dem Modul. Und daraus kann man dann ja die Pfade zu allem ”berechnen” was man relativ zu dem Modul ansprechen möchte.
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Freitag 15. März 2019, 21:28
von Tschibasi
Das mit den Pfaden ist sogar keine schlechte Idee. Teilweise habe ich das sogar schon im Programm mit den ich meine Bilder öffne.
Die GUI habe ich ebenfalls in Python programmiert.
Wenn ich das mit den Pfaden noch ändere kann ich mein Programm auf den Desktop von meinem Pi ziehen. Ok, klingt logisch und ist gar nicht so verkehrt.
Nur stellt sich mir immer noch die Frage, wie das mit dem öffnen gehen soll?
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Freitag 15. März 2019, 21:32
von __blackjack__
@Tschibasi: Wie was mit dem öffnen gehen soll? Es wird doch schon gestartet und findet nur die Dateien nicht, sehr wahrscheinlich weil das Arbeitsverzeichnis nicht das ist was Du vermutest, also nicht das Verzeichnis in dem die Datei liegt, auf die Du klickst.
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Freitag 15. März 2019, 21:36
von Tschibasi
Ja das öffnen des Programms funktioniert schon.
Ich möchte aber, dass ich auf die Programm-Datei einen Doppelklick mache und es sofort ausgeführt wird. Wie wenn man in Windows eine .exe Datei ausführen will.
Dieses Verhalten möchte ich erreichen.
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Freitag 15. März 2019, 21:59
von __blackjack__
@Tschibasi: Okay, dann verstehe ich das Problem nicht wirklich beziehungsweise ist das nicht genug Information. *Wo* klickst Du denn drauf? In welchem Programm? Und was passiert dann wenn Du das machst?
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Freitag 15. März 2019, 22:33
von Tschibasi
Ok. Alles von vorne.
Ich habe ein Programm geschrieben. Dieses Programm besteht aus einer Datei.
Dieses Programm möchte ich jetzt nur mit einem Doppelklick ausführen.
Wenn ich jetzt diese Datei öffne, komme ich ja nur zum Programmcode und muss dann F5 zum ausführen des Programms drücken.
Diesen Vorgang möchte ich gerne überspringen, da ich beim Einsatzort weder Maus oder Tastatur dabei habe. Es läuft über einen Touchscreen und dabei möchte ich solche unnötigen Vorgänge einsparen. Am besten wäre noch, wenn das Programm schon beim Hochfahren vom Pi ausgeführt werden könnte.
Das heißt: Pi fährt hoch->Programm wird während des bootens ausgeführt->GUI erscheint sofort am Touchscreen
So wäre die Wunschvorstellung.

Re: Python-Programm mit Doppelklick öffnen
Verfasst: Freitag 15. März 2019, 23:19
von __blackjack__
@Tschibasi: Da hast Du jetzt immer noch nicht beantwortet in welchem Programm das passiert. Denn das ist ja dafür verantwortlich was bei einem Doppelklick „auf die Datei“ passiert. Und ob Doppelklick jetzt für Dich das gleiche wie „öffnen“ ist, ist auch nicht klar. Wobei „öffnen“ anscheinend IDLE meint‽ Das ist ebenfalls nicht allgemein anzunehmen. Das muss ja beispielsweise gar nicht installiert sein.
Wirklich während des Bootens wird etwas problematisch weil für ein GUI-Programm ja X laufen muss, und der Benutzer müsste normalerweise erst angemeldet werden. Bei einigen Anmeldeverwaltungen kann man aber auch Einstellen das ein vorgegebener Benutzer automatisch angemeldet wird. Und bei den meisten Desktopumgebungen kann man auch sagen ob/welche Programm beim Anmelden automatisch mitgestartet werden sollen. Da fehlen aber auch immer noch die ganzen Informationen was Du da denn letztendlich am laufen hast.
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Samstag 16. März 2019, 17:28
von Tschibasi
Ganz normal auf dem Desktop. Ich habe als Betriebssystem das neueste Raspbian installiert.
Ja genau mit öffnen meinte ich IDLE und das möchte ich umgehen.
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Samstag 16. März 2019, 17:34
von Sirius3
Wenn die Python-Datei ausführbar ist und die passende Shebang-Zeile hat, sollte das auch klappen.
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Samstag 16. März 2019, 17:34
von __deets__
Du musst dein Skript eben in den Autostart des Desktops einbinden. Dazu gibt es haufenweise Anleitungen. NICHT in den Autostart des Systems!!!!!!!!!!! Da läuft die GUI noch nicht.
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Samstag 16. März 2019, 20:16
von Tschibasi
@_deets_: Danke für den Hinweis mit dem Desktop. Ich habs glaub ich immer in den Autostart vom System probiert.
@Sirius3: Ich hab die Shebangzeile eingefügt aber es kommt immer noch die Fehlermeldung: Kindprozess kann nicht ausgeführt werden. Datei und Verzeichnis nicht gefunden.
An was liegt das dann das nicht funktioniert. Muss ich bei der Shebangzeile auch noch das mit UTF-8 mit einfügen?? Oder muss diese zweite Zeile anders heißen?
Danke für die schnellen Antworten
Re: Python-Programm mit Doppelklick öffnen
Verfasst: Samstag 16. März 2019, 21:33
von Perlchamp
@alle:
ich lese hier nur mit, aber ich frage mich die ganze Zeit:
1. warum stellt er sein Skript nicht mal hier rein bzw. das, was notwendig ist.
2. warum schreibt er nicht einmal, in welchem Pfad Python installiert und wo seine Dateien liegen und und und ...