Script lässt sich in IDLE(GUI) starten, ansonsten aber nicht

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pl3ktrum
User
Beiträge: 6
Registriert: Dienstag 18. Juni 2013, 09:27

Hallo Leute,

bitte entschuldigt falls dies das falsche Unterforum ist, ich konnte mich aber nicht entscheiden.
Ich habe einen kleinen IRC Bot geschrieben, dieser Funktioniert auch tadellos und tut genau das was er soll.
Als IDE habe ich IDLE benutzt und habe den BOT auch darin getestet(mit F5 gestartet).
In der Konsole von IDLE klappt auch alles prima.
Jetzt wollte ich den BOT auf meinem Raspberry laufen lassen (Python Version ist identisch mit der auf meinem Computer) aber es passiert einfach nichts.
Nach 1-2 Sekunden kommt wieder der Linux prompt ohne irgendeinen Fehler auszugeben zu haben oder sonstiges.
Nun dachte ich mir das dies vielleicht an der Linux Umgebung liegen kann und habe versucht das Script in der Konsole unter Windows zu startet, natürlich funktionierte dies auch nicht.
Nun würde ich gerne wissen, ob ich etwas falsch mache bzw. wo das Problem liegt, es kann ja nicht sein das mein Script nur in IDLE läuft.

Hier der Link zum Script:
http://pastebin.com/U4QCBgJu
BlackJack

@pl3ktrum: Wie führst Du das denn aus? So wie es da steht muss man es explizit mit ``python3 programm.py`` starten.

Und `_thread` solltest Du ganz dringend mit dem `threading`-Modul ersetzen. Der führende Unterstrich bedeutet, dass das keine offizielle API ist die man benutzen sollte.

Edit: Den Thread brauchst Du übrigens gar nicht und der ist auch der Grund warum sich Dein Programm sofort wieder beendet. Denn nachdem Du den Thread gestartet hast, ist das Programm zuende und damit hört das dann auch tatsächlich sofort auf. In IDLE läuft das im Kontext von IDLE und da IDLE noch läuft nach dem Dein Programm zuende ist, läuft auch der Thread dort noch weiter.
pl3ktrum
User
Beiträge: 6
Registriert: Dienstag 18. Juni 2013, 09:27

Vielen Dank für die Antwort.
Das das Programm sich nach dem Threadaurfruf beendet wird es wohl sein, daran habe ich überhaupt gar nicht gedacht.
Das ich den Thread gar nicht brauche sehe ich durch deine Aussage auch jetzt erst, VIELEN DANK! :D
Für zukünftige Projekte werde ich kein _thread mehr benutzen.
Antworten