web-dev-qa-db-ja.com

Mac OSをSierraにアップグレードした後、矢印キーがPython Shellで動作しなくなりました

Zsh、iTerm2(3.0.9)、およびpyenvグローバル(3.5.2に設定)を含むpyenv(1.0.2)を使用しています。

Pythonシェルでは、上矢印キーと下矢印キーを使用して、履歴の前のコマンドにアクセスしました。ただし、OSX 10.12にアップグレードすると、代わりに制御文字が表示されます。たとえば、矢印が表示されます:

^[[A

python Shell で矢印キーを押すとエスケープ文字が表示される)を参考にして、readlineをインストールしようとしましたが、それでも解決しませんでした。PYTHONSTARTUPがありません変数ですが、以前は使用されていませんでした。これがpyenvとどのように相互作用するかはわかりません。

24
danib

私はpythonをhomebrewからインストールすることで解決しました:

brew unlink python
brew install python
12
jsphpl

私はまったく同じ問題を抱えており、このコマンドは私のために機能しましたeasy_install -a readline

ここで完全なクレジット: ipythonがreadlineについて文句を言う

11
joanfihu

これは私のために働きました:

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

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

3
Joe Inner

同じことがわかり、.zshrcファイルでpyenv init -コマンドを実行しないようにすることができました。しかし、それは仮想環境の機能を阻害します。したがって、これは修正ではなく、python Shell履歴を再び機能させるための回避策です。

私はそれなしではほとんど生産的ではないので、恒久的な修正があるかどうか調べ続けています。

0
Jake H

私のためにそれを解決したのは、jsphpl(リンク解除してインストール)によって言及された手順を実行し、さらにbrewを使用してリンクを再度リンクし、python=再度リンクし、競合するファイルの上書きを許可することでした。

0
kevb

これは、Brewでインストールされたpythonを使用しているときに、XCodeまたはXCodeツールのアップグレード(OSアップグレードでよく発生します)で発生する可能性があります。

この場合、再インストールする必要があります:

brew reinstall python

python 2が必要な場合は、brewのデフォルトがpython3になっていることを思い出してください。

brew reinstall python2
0
Zim

Pythonのショートカットを設定する必要があります。

シェルでidle3を実行してから、キーの不足を更新します。

pythonインタプリタシェルで最後のコマンドを繰り返す方法?

0
Roman