Fehler: Tabnanny Error: EOF in multi-line statement

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.
BlackJack

Vielleicht solltest Du erst einmal das Programm ohne Tabnanny ausführen. Die Meldung ist ja schliesslich nicht zu Tab/Leerzeichen-Problemen, sondern scheint eher auf ein (anderes) Problem mit der Syntax hin zu weisen.

Gibt's denn keinen ordentlichen Stacktrace, der auf eine Quelltextzeile hinweist, und den Du uns mal zeigen könntest?

Welche IDE verwendest Du denn? Python-IDEs verwenden in der Regel schon die im Style Guide empfohlenen 4 Leerzeichen pro Einrückebene.
Evil4President
User
Beiträge: 83
Registriert: Dienstag 15. Januar 2008, 15:39
Kontaktdaten:

So, er bringt keine konkrete Zeilenangabe...
Meldung lautet:

"Tabnanny Tokenizing Error - Token Error: EOF in multi-line statement"

Wie kann ich das Progframm ohne Tabnanny ausführen? Wie gesagt, ich bin noch relativ neu in dem Gebiet. Ich verwende die standardmäßige Einstellung von Python; also 4 Leerzeichen pro TAB, falls du das meinst.
BlackJack

Programme starten wird in der [wiki]FAQ#WieStarteIchSkripte[/wiki]unter Punkt 4 erklärt.

Ansonsten müsstest Du mal verraten wie Du Programme im Moment startest und welche IDE Du verwendest. Die ruft ja anscheinend Tabnanny auf.
Evil4President
User
Beiträge: 83
Registriert: Dienstag 15. Januar 2008, 15:39
Kontaktdaten:

Also, ich speichere die Programme bisher noch nicht als .exe, weil ich es momentan auch für den Unterricht arbeiten etc. nicht verwenden muss/soll...

Zum starten öffne ich das skript in der IDLE und starte dann mit F5 in der Python Shell. Habe allerdings auch schon über 'cmd' gestartet...

Wenn du mir nun noch erklärst, was du unter IDE verstehst, kann ich dir auch sagen was ich verwende. Kenne mich in den Abkürzungen und so noch nicht so richtig aus und versuche mir das Wissen nach und nach anzueignen, aber so ist das nunmal am Anfang...
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

IDE -> Integrated Development Environment
Sowas wie deine IDLE, es gibt aber noch viele andere.
Wenn du dein Programm über die cmd startest dann solltest du eine ausführlichere Fehlermeldung bekommen.
Versuche das mal.

So nebenbei: In python baut man keine exe Files.
Das kann man zwar auf einem anderen Wege hinbekommen, man darf es aber nicht mit Kompilieren von Sourcen wie C/C++ verstehen.
Der Pythoncode wird in der Regel durch den Interpreter ausgeführt.
Evil4President
User
Beiträge: 83
Registriert: Dienstag 15. Januar 2008, 15:39
Kontaktdaten:

Ja, werde es mal über die cmd versuchen und die meldung posten.
Es gibt doch software wie "python2exe" oder "pythonwx" oder so, mit der kann man doch aus der .py eine .exe erstellen, oder nicht?

Kannst du dir so keinen Reim darauf machen, wieso dieser Fehler entsteht?
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Nein, kann ich nicht. Die Meldung ist viel zu schwammig und zu allegmein.
Der Stacktrace vom Pythoninterpreter ist da wesentlich genauer.

Und ja, es gibt sowas wie py2exe, pyinstaller usw. aber das sind freezer.
Das result was du dann in den Fingern hast ist aber keine neu kompilierte Applikation, sondern der Pythoninterpreter mit allen benötigten Modulen und Bibliotheken die zu einem exefile zusammengeschnürt wurden. (Aber das soll hier jetzt nicht unser Problem sein ;))
Balgofil
User
Beiträge: 2
Registriert: Samstag 15. September 2007, 18:52
Wohnort: Berlin

Hi,
hab mir jetzt glaube lange genug das Forum angeguckt und werd jetzt mal was zur Lösung beitragen. Diesen Fehler kenne ich zu genüge. Schau dir mal deine letzte Zeile an. Da steht eine Klammer zu zu viel. Danach müsste die IDE wieder arbeiten.
Evil4President
User
Beiträge: 83
Registriert: Dienstag 15. Januar 2008, 15:39
Kontaktdaten:

Vielen Dank!
Es funktioniert, habe jetzt auch restliche Syntaxfehler korrigiert etc...
Das sowas manchmal so einfach sein kann, ich frage mich nur wo die Klammer herkam... absichtlich jedenfalls nicht, aber egal, hauptsache es funktioniert jetzt!

Nochmals Vielen Dank an alle, die versucht haben zu helfen und zur Lösung beigetragen haben oder ähnliches :wink:
Antworten