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.

147 Uhr
quelle
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

npostavs
quelle
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
3

Ich hatte diese störende Warnung auch in Emacs 25.1.

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24401 bietet die richtige Lösung, um colored-statsnur Bash zu aktivieren :

$ cat ~/.inputrc
$if Bash
set colored-stats on
$endif
Gavenkoa
quelle