web-dev-qa-db-fra.com

Les touches fléchées ne fonctionnent plus dans Python Shell après la mise à niveau de Mac OS vers Sierra

J'utilise zsh, iTerm2 (3.0.9) et pyenv (1.0.2) avec pyenv global défini sur 3.5.2.

Dans le shell Python, les touches fléchées vers le haut et vers le bas fonctionnaient pour accéder aux commandes précédentes de l'historique. Mais maintenant, après la mise à niveau vers OSX 10.12, il affiche plutôt des caractères de contrôle. Par exemple, la flèche vers le haut affiche:

^[[A

J'ai essayé d'installer readline comme suggéré dans Voir les caractères d'échappement lorsque vous appuyez sur les touches fléchées dans Python Shell mais cela n'a pas aidé. Je n'ai pas la variable PYTHONSTARTUP mais je n'avais pas l'habitude avant, et je ne sais pas comment cela interagit avec pyenv.

19
danib

J'ai eu exactement le même problème et cette commande a fonctionné pour moi easy_install -a readline.

Crédit complet ici: ipython se plaindre de readline

11
joanfihu

Je l'ai résolu en installant python à partir de homebrew:

brew unlink python
brew install python
4
jsphpl

Cela a fonctionné pour moi:

CFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \
LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix openssl)/lib" \
PYTHON_CONFIGURE_OPTS=--enable-unicode=ucs2 \
pyenv install -v 2.7.11

Source: https://medium.com/@pimterry/setting-up-pyenv-on-os-x-with-homebrew-56c7541fd331#.urbdkrc9l

0
Joe Inner

Je vois la même chose et le seul "correctif" que j'ai pu trouver était de ne pas exécuter la commande pyenv init - dans mon fichier .zshrc. Cela empêchera toutefois le fonctionnement des environnements virtuels. Ce n’est donc pas une solution mais une solution de contournement pour que l’historique du shell Python fonctionne à nouveau.

Je continue à chercher s'il y a une solution permanente, car je ne serais pas aussi productif sans elle. 

0
Jake H

Besoin de configurer les raccourcis de python.

Dans Shell, exécutez idle3, puis mettez à jour les raccourcis clavier:

Comment répéter la dernière commande dans un interpréteur de commandes python?

0
Roman