Ihr 'Python-Shell-Interpreter' scheint Readline nicht zu unterstützen


13

Ich habe dieses Problem mit meinem 25.1 und Python 3.5 unter Ubuntu 16.10, aber ich sehe nicht, dass es irgendwo gelöst wird. Ich frage mich, was der neueste Status war. Wiedergabe:

> emacs -Q --eval '(setq python-shell-interpreter "python3")'

dann

M-x run-python gibt

Warning (python): Your ‘python-shell-interpreter’ doesn’t seem to support readline, yet ‘python-shell-completion-native’ was t and "python3" is not part of the ‘python-shell-completion-native-disabled-interpreters’ list.  Native completions have been disabled locally.

Ich sah eine Idee, wo ein M-x find-function python-shell-completion-native-trydie Funktion aus der Tiefe ziehen würde (/usr/local/share/emacs/25.1/lisp/progmodes/python.el.gzund die allerletzte Zeile sein sollte nil "_")))und nicht nil ""))). In einem anderen Gespräch geht es um Veränderunginputrc

Ich bin zu einem anderen Benutzer gewechselt und konnte "run-python" ohne Warnungen verwenden. Es stellte sich heraus, dass es meine Readline-Einstellungen waren. Bash 4.3 hat eine neue Readline-Funktion hinzugefügt: "set coloured-stats on", die ich in .inputrc hatte. Durch das Entfernen dieser Zeile wurde mein Problem behoben. Ich denke, dies sollte für alle reproduzierbar sein.

Weiß jemand, was das Neueste dazu ist? Übrigens hat das Ausführen von Python2 ( (setq org-babel-python-command "python2")) dieses Problem nicht.


Der Emacs-Fehler, mit dem Sie verlinkt haben, ist für 25.2 als behoben markiert (noch nicht veröffentlicht). Sie sollten also erwarten, dass er in 25.1 weiterhin vorhanden ist. Sie können die Pretest-Version (25.1.9x) ausprobieren.
Npostavs

Wissen Sie, wann 25.2 aus ist?
147 Uhr

Vielleicht einen Monat oder so? Sie können den Vortest (25.1.91) jetzt versuchen. Alpha.gnu.org/gnu/emacs/pretest
npostavs

Ich habe die gleichen Symptome ("Ihr 'Python-Shell-Interpreter' scheint Readline nicht zu unterstützen") unter Python 3.6.0 und GNU Emacs 25.2 RC1 unter Windows 10, daher ist entweder das Problem noch nicht gelöst. oder ist es vielleicht ein anderes problem?
Martin

Antworten:


10

Wenn Sie keine 25,2 rc erhalten möchten, können Sie die Fehlerbehebung anwenden, indem Sie diese zu Ihrer init.el-Datei hinzufügen:

(with-eval-after-load 'python
  (defun python-shell-completion-native-try ()
    "Return non-nil if can trigger native completion."
    (let ((python-shell-completion-native-enable t)
          (python-shell-completion-native-output-timeout
           python-shell-completion-native-try-output-timeout))
      (python-shell-completion-native-get-completions
       (get-buffer-process (current-buffer))
       nil "_"))))

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25753#44


Klappt wunderbar. Danke für das Teilen.
Dangom

2
Aus irgendeinem Grund funktionierte das Hinzufügen (setq python-shell-completion-native-enable nil)zu meiner init.elDatei, ohne dass der obige Code erforderlich war.
Guilherme Salomé

@ GuilhermeSalomé, das die Warnung unterdrückt, aber keine native Vervollständigung erhält. Wenn Sie unter Windows arbeiten, ist dies das Richtige .
npostavs

5
Selbst auf Emacs 26.1 bekomme ich dieses Problem immer noch.
Guilherme Salomé

1
Auch auf Emacs 26.2, und diese Antwort funktioniert immer noch.
Zoe Rowa

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.