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.

147pm
la source
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

npostavs
la source
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
3

J'ai également eu cet avertissement inquiétant dans Emacs 25.1.

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24401 a une solution appropriée pour activer colored-statsuniquement pour Bash:

$ cat ~/.inputrc
$if Bash
set colored-stats on
$endif
gavenkoa
la source