Votre «interprète shell python» ne semble pas prendre en charge readline


13

J'ai ce problème avec mon 25.1 et Python 3.5 sur Ubuntu 16.10, mais je ne le vois résolu nulle part. Vous vous demandez quel était le dernier statut. Reproduire:

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

puis

M-x run-python donne

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.

J'ai vu une idée où un M-x find-function python-shell-completion-native-trytirerait la fonction des profondeurs (/usr/local/share/emacs/25.1/lisp/progmodes/python.el.gzet la toute dernière ligne était censée être nil "_")))et non nil ""))). Une autre conversation ici parle de changerinputrc

Je suis passé à un autre utilisateur et j'ai pu utiliser `run-python 'sans aucun avertissement. Il s'avère que c'était mes paramètres de ligne de lecture. Bash 4.3 a ajouté une nouvelle fonctionnalité de ligne de lecture: "définir des statistiques colorées sur" que j'avais dans .inputrc La suppression de cette ligne a résolu mon problème, je pense que cela devrait être reproductible pour tous.

Quelqu'un sait ce qui est le plus récent à ce sujet? BTW, l'exécution de Python2 ( (setq org-babel-python-command "python2")) n'a pas ce problème.


Le bogue Emacs auquel vous avez lié est marqué comme résolu pour 25.2 (pas encore publié), vous devez donc vous attendre à ce qu'il soit toujours présent dans 25.1. Vous pouvez essayer la version pré-test (25.1.9x).
npostavs le

Vous savez quand 25.2 est sorti?
147 pm

Peut-être un mois ou deux? Vous pouvez essayer le prétest (25.1.91) maintenant alpha.gnu.org/gnu/emacs/pretest
npostavs

J'ai les mêmes symptômes ("Votre 'interprète shell python ne semble pas prendre en charge readline") exécutant Python 3.6.0 et GNU Emacs 25.2 RC1 sur Windows 10, donc soit le problème n'est pas encore résolu, ou peut-être que c'est un problème différent?
Martin

Réponses:


10

Si vous ne voulez pas obtenir un 25.2 rc, vous pouvez appliquer le correctif de bogue en l'ajoutant à votre fichier 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


Fonctionne comme un charme. Merci d'avoir partagé.
dangom

2
Pour une raison quelconque, l'ajout (setq python-shell-completion-native-enable nil)à mon init.elfichier a fonctionné, sans nécessiter le code ci-dessus.
Guilherme Salomé

@ GuilhermeSalomé qui supprime l'avertissement, mais vous n'obtenez pas de complétion native. Si vous êtes sous Windows, c'est la bonne chose à faire .
npostavs

5
Même sur Emacs 26.1, je reçois toujours ce problème.
Guilherme Salomé

1
Également sur Emacs 26.2, et cette réponse fonctionne toujours.
Zoe Rowa

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.