2015-03-17 19 views
6

bekomme ich folgenden Fehlercode beim Versuch, eine interaktive Python-Konsole in pydevpydev Konsole bereits ab

ich herausfinden kann, nicht zu laufen, was falsch ist. Wenn ich Google über die

Konsole bereits mit dem Wert verlassen: 1

Teil des Fehlers, nichts Brauchbares kommt.

Was ist Fremder ist, dass diese Sache nur in einem meiner Python-Workspace-Projekte auftritt. Einziger. Und alle anderen Dinge sind die gleichen wie in den anderen.

Ich möchte ein Bild mit der Frage hinzufügen, aber es erfordert mich über als 10 Ruf .......

Fehler beim Initialisieren der Konsole. Unerwarteter Fehler beim Verbinden mit der Konsole. Fehler beim Abrufen der passenden Hallo-Antwort von pydevconsole. Letzte Nachricht empfangen: Die Konsole wurde bereits mit dem Wert 1 beendet, während auf eine Antwort gewartet wird.

Antwort

5

pip uninstall traitlets gerade für mich gearbeitet.

+0

hat es auch für mich funktioniert! Aber warum? Brauchen wir Charakterzüge? – moldovean

+1

Ich vermute, dass Standalone IPython es braucht. –

1

Es scheint (auf meinem System, YMMV) ein acknowledged bug zu sein, wo pydev nicht die API-Änderung von ipython übereinstimmen Version 4 auf Version aktualisiert 5.

Entweder tun

pip uninstall ipython 
pip install ipython==4.2.0 

(in this answer angedeutet) ODER den folgenden Patch auf pydev_ipython_console_011.py anwenden.

163c163 
<        self.has_readline) 
--- 
>   ) 
171d170 
<        use_readline=self.has_readline, 
183d181 
<        use_readline=self.has_readline, 
194d191 
<        use_readline=self.has_readline, 
239,245d235 
< 
<   # Only configure readline if we truly are using readline. IPython can 
<   # do tab-completion over the network, in GUIs, etc, where readline 
<   # itself may be absent 
<   if self.has_readline: 
<    self.set_readline_completer() 
< 

Deinstallation traitlets mir erlaubt, die pydev Konsole in Eclipse zu öffnen, aber brach in der Befehlszeile ipython, so dass ich wieder neu installiert. Da jedoch die Fehlermeldung erwähnte, dass ein bestimmter Prozess mit dem Exit-Code 1 abstarb, dachte ich, dass es möglicherweise ein unterdrücktes Rückverfolgungsobjekt gibt, das es wert ist, gesehen zu werden. Also lief ich die erwähnte Befehlszeile

/usr/bin/python2.7 -u /home/tsbertalan/eclipse/cpp-mars/eclipse/../../../.p2/pool/plugins/org.python.pydev_4.5.4.201601292234/pysrc/pydevconsole.py 34462 35898 34462 35898 

(die offensichtlich auf meine spezifischen Installation abhängt), und bekam eine Rückverfolgung der Endung

File "/home/tsbertalan/.p2/pool/plugins/org.python.pydev_4.5.4.201601292234/pysrc/_pydev_bundle/pydev_ipython_console_011.py", line 194, in _new_completer_200 
    use_readline=self.has_readline, 
AttributeError: 'PyDevTerminalInteractiveShell' object has no attribute 'has_readline' 

Als ich die letzte Zeile gegoogelt, war ich führte zu this answer , wo es aufgrund einer geänderten API in ipython v5 ist. Also, es ist ein Fehler in Pydev. Ich habe dann ihren Issue Tracker überprüft und festgestellt, dass es already handled war, und eine Problemumgehung bestand darin, anstößige alte API-Details zu entfernen (siehe Patch oben).

Leider funktioniert die Patch-Methode nur für Pydev 4.5.4. Wenn ich mit der Eclipse-Funktion "Nach Updates suchen" aktualisierte (in der Hoffnung, dass 5.1.3 verfügbar sein würde - nur 5.1.2), löste der Patch den unmittelbaren Fehler, indem die interaktive Konsole mit ipython gestartet wurde, aber object? an print docstrings druckt stattdessen eine Art wörterbuchähnliches Objekt. Also, ich benutze jetzt pydev 5.1.2 mit ipython 4.2.0. Vielleicht, sobald ich 5.1.3 bekomme, werde ich versuchen, ipython zu aktualisieren.