'python-shell-interpreter'가 readline을 지원하지 않는 것 같습니다


13

우분투 16.10의 25.1 및 Python 3.5 에서이 문제가 발생했지만 어느 곳에서나 해결되지는 않습니다. 최신 상태가 궁금합니다. 재현 :

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

그때

M-x run-python 준다

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.

나는 하나 개의 아이디어를보고 M-x find-function python-shell-completion-native-try깊은 곳에서 기능을 끌어 것 (/usr/local/share/emacs/25.1/lisp/progmodes/python.el.gz과 매우 마지막 줄이 있어야했다 nil "_")))및하지를 nil ""))). 여기에 또 다른 대화 는 변화에 대해 이야기inputrc

다른 사용자로 전환했고 경고없이`run-python '을 사용할 수있었습니다. 그것이 내 readline 설정이었습니다. Bash 4.3에는 .inputrc에있는 "set colored-stats on"이라는 새로운 readline 기능이 추가되었습니다.

아무도 이것에 대한 최신 정보를 알고 있습니까? BTW, Python2 ( (setq org-babel-python-command "python2"))를 실행 하면이 문제가 없습니다.


연결 한 Emacs 버그는 25.2 (아직 출시되지 않음)에 대해 해결 된 것으로 표시되어 있으므로 25.1에 여전히있을 것으로 예상됩니다. 사전 테스트 버전 (25.1.9x)을 시도 할 수 있습니다.
npostavs

25.2가 언제 나왔는지 아십니까?
147pm

아마 한 달 정도? 당신은 지금 pretest (25.1.91)을 시도 할 수 있습니다 alpha.gnu.org/gnu/emacs/pretest
npostavs

Windows 10에서 Python 3.6.0 및 GNU Emacs 25.2 RC1을 실행하는 것과 동일한 증상 ( '귀하의'python-shell-interpreter '가 readline을 지원하지 않는 것 같습니다')이 발생하여 문제가 아직 해결되지 않았습니다. 아니면 다른 문제입니까?
Martin

답변:


10

25.2 rc를 원하지 않으면 init.el 파일에 버그 수정을 추가하여 버그 수정을 적용 할 수 있습니다.

(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


매력처럼 작동합니다. 공유해 주셔서 감사합니다.
dangom

2
어떤 이유로 든 위의 코드를 요구하지 않고 파일에 이것을 추가하는 (setq python-shell-completion-native-enable nil)것이 init.el효과가있었습니다.
길 레르 메 살로메

@ GuilhermeSalomé는 경고를 표시하지 않지만 기본 완료를 얻지 못합니다. 이 경우 Windows에서, 그것은 옳은 일입니다 .
npostavs

5
Emacs 26.1에서도이 문제가 계속 발생합니다.
길 레르 메 살로메

1
Emacs 26.2에서도이 답변은 여전히 ​​작동합니다.
Zoe Rowa

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.