'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.