2016-10-01 14 views
12

Używam zsh, iTerm2 (3.0.9) i pyenv (1.0.2) z globalnym zestawem pyenv ustawionym na 3.5.2.Klawisze strzałek przestają działać w powłoce Pythona po uaktualnieniu systemu Mac OS do Sierra

W powłoce Pythona klawisze strzałek w górę iw dół służyły do ​​uzyskiwania dostępu do poprzednich poleceń w historii. Ale teraz po uaktualnieniu do OS X 10.12, zamiast tego pokazuje znaki kontrolne. Na przykład strzałka w górę Wyświetlanie:

^[[A 

Próbowałem instalacji readline jak zasugerowano w Seeing escape characters when pressing the arrow keys in python shell ale to nie pomogło. Nie mam zmiennej PYTHONSTARTUP, ale wcześniej się jej nie używałem i nie wiem, w jaki sposób ona wchodzi w interakcję z pyenv.

Odpowiedz

0

Widzę to samo i jedyną "poprawką", którą udało mi się wymyślić, było nie uruchamianie polecenia pyenv init - w moim pliku .zshrc. To jednak powstrzyma działanie środowisk wirtualnych ... i nie jest to poprawka, ale obejście problemu, aby historia powłoki Pythona znów działała.

Kontynuuję przeglądanie i sprawdzam, czy nie ma trwałej poprawki, ponieważ bez niej nie jestem tak produktywna.

+0

Po wypróbowaniu powyżej poprawkę dotyczącą instalacji readline Mogę potwierdzić, że działa dla mojego python 2.7.8 e nv. Dzięki! –

9

Miałem dokładnie ten sam problem i to polecenie zadziałało dla mnie easy_install -a readline.

Pełna kredytowej tutaj: ipython complaining about readline

+2

Naprawia to dla Python 3.5.2, ale używając pyenv, aby przełączyć się na Python 2.7.12, klawisze strzałek nadal nie działają w tej powłoce. – danib

+0

Dzięki! mój komentarz jest tam pochowany, a ten tytuł Q jest świetny, więc pomyślałem, że zauważę, że 'easy_install -a readline' naprawił mojego globalnego pythona, ale musiałem odtworzyć mój virtualenv, aby naprawić problem. – ptim

+0

To nie naprawiło tego dla mnie w Python3. –

3

Rozwiązałem go poprzez zainstalowanie Pythona z homebrew:

brew unlink python 
brew install python 
+0

Rozwiązał to również dla mnie – Danra

Powiązane problemy