Seite 1 von 1

Emacs Problem mit raw_input()

Verfasst: Freitag 23. Juni 2006, 11:31
von keboo
Hallo Leute!

Ich versuche im Moment mich mit dem Emacs auseinanderzusetzen. Bin recht begeistert von den Möglichkeiten.

Ich will nun auch Python programmieren damit.
Der Befehl raw_input() scheint irgendwie nicht zu funktionieren.

Hat wer eine Ahnung warum sich das nicht verträgt?

LG
Johannes

Re: Emacs Problem mit raw_input()

Verfasst: Freitag 23. Juni 2006, 12:02
von Rebecca
keboo hat geschrieben:Ich versuche im Moment mich mit dem Emacs auseinanderzusetzen. Bin recht begeistert von den Möglichkeiten.
:mrgreen: Ich fang jetzt mal nicht an zu schwaermen...
keboo hat geschrieben:Der Befehl raw_input() scheint irgendwie nicht zu funktionieren.

Was genau machst du denn? Und was genau klappt nicht? Willst du dein Programm aus Emacs raus starten? Bei mir klappt das:

Code: Alles auswählen

#!/usr/bin/env python

bla = raw_input("gib was ein: ")
print "du hast eingegeben:", bla
Python-Interpreter in Emacs gestartet und Buffer ausgefuehrt:

Code: Alles auswählen

>>> ## working on region in file /usr/tmp/python-8004q8o.py...
gib was ein: hallo
du hast eingegeben: hallo
>>> 
(Ich benutze GNU Emacs 21.3.1 auf Linux 2.6.13)

Verfasst: Freitag 23. Juni 2006, 12:27
von keboo
Hallo rebecca!

Ich benutze GNU EMACS 22.0.50.2 auf WIN XP.

Irgendwie funktioniert es im EMACS nur, wenn ich in einem 2 Buffer der Python Interpreter bereits geöffnet ist.

Wenn ich nur das Skript geöffnet habe und mit C-c C-c das Skript ausführen möchte kommt es zu diesem Error:

gib was ein: Traceback (most recent call last):
File "<stdin>", line 3, in ?
EOFError: EOF when reading a line


Keine Ahnung, was da los ist.

Danke für deine Erklärungen.

Johannes

Verfasst: Freitag 23. Juni 2006, 13:55
von Rebecca
keboo hat geschrieben:Irgendwie funktioniert es im EMACS nur, wenn ich in einem 2 Buffer der Python Interpreter bereits geöffnet ist.
Das ist normal. Scheint, als wuerdest du alles so machen wie ich. Dein Fehler sieht so aus, wie wenn ich bei mir bei der Eingabe Ctr+D druecke... :?

Sieht irgendwie nach einem Bug aus, wenn du Scripte ohne raw_input ausfuehren kannst... bei Google hab ich gerade auch nix gefunden. :( Vielleicht solltest du dich an die Emacs-Entwickler wenden.

Verfasst: Freitag 23. Juni 2006, 14:50
von keboo
Danke für die Antowort.

Werd dann einfach immer am Beginn in einem 2 Fenster den Interprter öffnen. Was solls...

LG
Johannes

Verfasst: Freitag 23. Juni 2006, 15:20
von Rebecca
Man koennte natuerlich Emacs beibringen, den Python-Interpreter automatisch zu starten, wenn er in den Python-Mode geht.

Oder man schreibt sich kleine Wrapper um die ganzen Execute-Funktionen, die erst den Interpreter starten und dann die entprechended py-execute-*-Funktionen. Die kann man dann natuerlich wieder an die gewohnen Tastenkuerzel binden... :D