Emacs Problem mit raw_input()

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.
keboo
User
Beiträge: 132
Registriert: Sonntag 19. Februar 2006, 14:03

Emacs Problem mit raw_input()

Beitragvon keboo » Freitag 23. Juni 2006, 11:31

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
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Re: Emacs Problem mit raw_input()

Beitragvon Rebecca » Freitag 23. Juni 2006, 12:02

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=]>>> ## working on region in file /usr/tmp/python-8004q8o.py...
gib was ein: hallo
du hast eingegeben: hallo
>>> [/code]

(Ich benutze GNU Emacs 21.3.1 auf Linux 2.6.13)
keboo
User
Beiträge: 132
Registriert: Sonntag 19. Februar 2006, 14:03

Beitragvon keboo » Freitag 23. Juni 2006, 12:27

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
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Freitag 23. Juni 2006, 13:55

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.
keboo
User
Beiträge: 132
Registriert: Sonntag 19. Februar 2006, 14:03

Beitragvon keboo » Freitag 23. Juni 2006, 14:50

Danke für die Antowort.

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

LG
Johannes
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Freitag 23. Juni 2006, 15:20

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

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Holger Chapman