Autostart von python script funktioniert nicht!

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich versuche momentan ein python script

    nach start des Raspberry pi's ausführen zu lassen.
    Ja ich weiß wenn man ein bisschen recherchiert findet man alles was man wissen muss.
    Das habe ich auch getan. Dennoch startet das script nicht!
    Ich habe alles probiert:
    per
    rc.local
    LXDE
    crontab
    .Desktop

    nichts davon klappt. :helpnew:

  • Hallo,

    zuerst einmal: `execfile` zu nutzen, um ein andere Python-Skript zu starten, ist ziemlich falsch... Wenn du Funktionen/Klassen/... aus anderen Skripten brauchst, dann importiere diese in das Hauptskript und rufe diese daraus auf.
    `exit(0)` am Ende benutzt man so nicht. Das mag zwar funktionieren, ist aber undokumentiert. Abgesehen davon wird diese Programmzeile nie erreicht, weil du nie aus der Endlosschleife raus kommst.

    Zum eigentlichen Problem: was heißt denn "klappt nicht?" Welche Fehlermeldung bekommst du? Hast du irgendwelche Fehler einer Logdatei? Brennt dein Pi ab? ...?
    Was passiert, wenn du das Skript im Terminal ausführst?

    Abgesehen davon wäre heutzutage IMHO der "gängigste" Weg, das Skript über eine systemd Service Unit auszuführen.

    Gruß, noisefloor

  • Ich hab nebenbei noch ein Monitoring laufen und darüber soll dann eine Stoppuhr per GPIO gestartet werden. Dazu hab ich dieses script erstellt.
    Wenn ich es manuell ausführe lässt sich die Stoppuhr über pin 19 starten aber das script an sich lässt sich nicht beim boot starten. Ich möchte die Stoppuhr nicht kontinuierlich laufen lassen, nur dieses script was den start der Stoppuhr bewirkt. Das script was ich über das erste script starten möchte ist vorerst zum testen dieses hier:


    Automatisch zusammengefügt:
    nein ich bekomme leider keine Fehlermeldung. Das wäre ja zu einfach.

    Einmal editiert, zuletzt von SEMIrasp (25. Juli 2017 um 11:01)

  • Zu deinem Stoppuhrprogramm wurde ja schon erwähnt, dass globale Variablen *pfui* sind.
    Auch wurde erwähnt, dass auf Modulebene sich nur Konstanten, Klassen und/oder Funktionen zu befinden haben.
    Wenn man sich daran hält und den GPIO Kram weglässt kommt man auf das hier:

  • Ich mache das übrigens für meine Arbeit, bin noch Azubi und der Betrieb unterrichtet weder python noch c und hat generell auch nichts mit dem raspberry am Hut. Ich darf das einzig und allein machen weil ich der einzige in meiner abteilung bin der sich immerhin ein bisschen mit dem Raspberry auskennt.
    Ich versuche seit Montag d.h. ca. 11h lang versuche ich dieses dämliche script beim boot ausführen zu lassen. An sich funktioniert es ja. Das 2. script wird ausgeführt aber eben der autostart des 1. scripts nicht.

  • Bitte helft mir doch. Ich weiß meine Probleme sind dämlich und überkompliziert. Aber ich bin hier knapp vorm burnout. :@
    Ich hänge an dem ganzen Stoppuhr kack schon seit letzer Woche mittwoch. Übers Wochenende hab ich auch nochmal probiert das hin zu bekommen. Aber es funktioniert gar nichts!

    Alles was ich will ist eine Stoppuhr die Minuten,Sekunden,Millisekunden grafisch anzeigt und über GPIO geöffnet/geschlossen, gestartet/gestoppt und resetet werden kann.

    Wieso ist das so dermaßen kompliziert?! Ein 5 jähriger kann auch bis 10 zählen ohne auch nur einen mW an Strom zu verbrauchen! Ich bin hier völlig am durchdrehen!

    BITTE! HELFT MIR! :helpnew:
    Automatisch zusammengefügt:
    Was sind absolute Pfade und wo soll ich den Pfad rein packen?
    Ich hab doch keine Ahnung. =(

    Einmal editiert, zuletzt von SEMIrasp (25. Juli 2017 um 11:26)

  • funktioniert nicht. Ich hatte es zwar schon probiert aber ich hab es jetzt nochmal genau so gemacht wie du es beschrieben hast:

    execfile ('/home/pi/Desktop/Stoppuhr.py')

    und glaub mir ich bin nur am recherchieren, all das wissen was ich bis jetzt habe habe ich gegooglet und habe es bereits hinbekommen Firefox zum autostart zu bekommen und bestimmte seiten auf zu rufen per .desktop aber dieses Problem macht mich einfach nur noch fertig.

  • Ich habe editiert:

    /etc/xdg/lxsession/LXDE/autostart

    Darin steht:

    @lxpanel --Profile LXDE
    @pcmanfm --desktop --Profile LXDE
    @xscreensaver -no-splash

    execfile ('/home/pi/Desktop/stoppuhr.py')
    Automatisch zusammengefügt:
    Über LXTerminal:

    sudo leafpad /etc/xdg/lxsession/LXDE/autostart

    Einmal editiert, zuletzt von SEMIrasp (25. Juli 2017 um 11:59)

  • Zitat von "SEMIrasp" pid='292379' dateline='1500976168'


    execfile ('/home/pi/Desktop/Stoppuhr.py')

    Zitat


    execfile ('/home/pi/Desktop/stoppuhr.py')

    Noch eine blöde Frage, auch um das ganz auszuschließen:
    Bist du sicher dass du den richtigen "case" genommen hast, also Stoppuhr.py oder stoppuhr.py?
    Automatisch zusammengefügt:
    Außerdem könnte das noch eine Rolle für dich spielen:
    https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=131760


    Einmal editiert, zuletzt von lavolpe (25. Juli 2017 um 12:28)

  • Hallo,

    SEMIrasp:

    1. ganz ruhig und versuch, cool zu bleiben - Burnout in jungen Jahren ist uncool.
    2. Wenn man wenig Programmiererfahrung hat - so wie du von dir sagst - ist das Programmieren einer GUI Anwendung (mit Python) nicht trivial. Da sollte man schon ein Grundverständnis von Objektorientierung haben.
    3. Die Stoppuhr wie bei dir manuell hoch zu zählen ist sehr unpräzise - weil du _keine_ direkten Einfluss drauf hast, wann das Hochzählen erfolgt.
    4. bootsmann hat dir hier im Thread schon eine wesentlich bessere (und funktionierende) Variante gezeigt.
    5. Wenn du ein Problem hast, dann beschreib' es _AUSFÜHRLICH_. Ein Aussage wie "klappt nicht" ist halt total für den A... weil nutzlos. Liefere _alle_ Infos, die du hast, auch die, von denen du denkst (aber es nicht weißt!), dass sie nicht relevant sind. Nimm' dir Zeit zum Posten, um ausführlich zu schreiben.
    6. Welchen Hintergrund hat es, dass die Stoppuhr aud dem Pi laufen soll? Nach _unserem_ derzeitigen Wissensstand wäre das Problem gelöst, wenn du ein 5,- Euro aus einem Kaufhaus nimmst. Mehr macht dein Programm nicht.

    Zitat

    Ein 5 jähriger kann auch bis 10 zählen ohne auch nur einen mW an Strom zu verbrauchen!


    Ganz einfach: das Gehirn eines 5 jährigen ist um Welten leistungsfähiger als ein Raspi.

    Gruß, noisefloor

    • Offizieller Beitrag

    Du schmeisst einfach verschiedene Methoden zusammen. Das kann nicht klappen. Probier es mal so:

    Code
    @lxpanel --Profile LXDE
    
    
    @pcmanfm --desktop --Profile LXDE
    
    
    @xscreensaver -no-splash
    
    
    @/usr/bin/python /home/pi/Desktop/stoppuhr.py

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!