'Python-shell-tercümanınız' readline'ı desteklemiyor gibi görünüyor


13

Ubuntu 16.10 üzerinde benim 25.1 ve Python 3.5 ile bu sorunu var, ama hiçbir yerde çözülmüş görmüyorum. En son durumun ne olduğunu merak ediyorum. Üreyen:

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

sonra

M-x run-python verir

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.

Bir tek fikir gördüğümüz M-x find-function python-shell-completion-native-tryderin dan fonksiyonunu çekeceği (/usr/local/share/emacs/25.1/lisp/progmodes/python.el.gzve çok son satırı olması gerekiyordu nil "_")))değil nil ""))). Buradaki başka bir konuşma değişmekten bahsediyorinputrc

Başka bir kullanıcıya geçtim ve herhangi bir uyarı yapmadan `` run-python '' kullanabildim. Benim readline ayarlarım olduğu ortaya çıktı. Bash 4.3 yeni bir okuma çizgisi özelliği ekledi: "in-stat is is is statr" in hangi vardı.

En son ne olduğunu bilen var mı? BTW, Python2 ( (setq org-babel-python-command "python2")) çalıştıran bu sorun yok.


Bağlandığınız Emacs hatası 25.2 için çözülmüş olarak işaretlendi (henüz yayınlanmadı), bu nedenle 25.1'de hala mevcut olmasını beklemelisiniz. En ön sürümü (25.1.9x) deneyebilirsiniz.
npostavs

25.2 ne zaman çıktı biliyor musunuz?
147

Belki bir ay kadar mı? Şimdi ön testi (25.1.91) deneyebilirsiniz. Alpha.gnu.org/gnu/emacs/pretest
npostavs

Windows 10'da Python 3.6.0 ve GNU Emacs 25.2 RC1 çalıştıran aynı belirtilere sahibim ("'python-shell-interpreter' okuyucunuzu desteklemiyor gibi görünüyor)" ya da belki farklı bir problemdir?
Martin

Yanıtlar:


10

25.2 rc almak istemiyorsanız, bunu init.el dosyanıza ekleyerek hata düzeltmesini uygulayabilirsiniz:

(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


Tıkır tıkır çalışıyor. Paylaşım için teşekkürler.
dangom

2
Herhangi bir nedenle , yukarıdaki kodu gerektirmeden, bu (setq python-shell-completion-native-enable nil)benim init.eldosya eklemek çalıştı.
Guilherme Salomé

@ GuilhermeSalomé uyarıyı bastırıyor, ancak yerel tamamlama alamıyorsunuz. Eğer konum Windows üzerinde, bunu yapmak doğru şey .
npostavs

5
Emacs 26.1'de bile bu sorunu hala alıyorum.
Guilherme Salomé

1
Ayrıca Emacs 26.2'de ve bu cevap hala çalışıyor.
Zoe Rowa

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.