Zsh、iTerm2(3.0.9)、およびpyenvグローバル(3.5.2に設定)を含むpyenv(1.0.2)を使用しています。
Pythonシェルでは、上矢印キーと下矢印キーを使用して、履歴の前のコマンドにアクセスしました。ただし、OSX 10.12にアップグレードすると、代わりに制御文字が表示されます。たとえば、矢印が表示されます:
^[[A
python Shell で矢印キーを押すとエスケープ文字が表示される)を参考にして、readlineをインストールしようとしましたが、それでも解決しませんでした。PYTHONSTARTUPがありません変数ですが、以前は使用されていませんでした。これがpyenvとどのように相互作用するかはわかりません。
私はpythonをhomebrewからインストールすることで解決しました:
brew unlink python
brew install python
私はまったく同じ問題を抱えており、このコマンドは私のために機能しましたeasy_install -a readline
。
ここで完全なクレジット: ipythonがreadlineについて文句を言う
これは私のために働きました:
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
同じことがわかり、.zshrcファイルでpyenv init -
コマンドを実行しないようにすることができました。しかし、それは仮想環境の機能を阻害します。したがって、これは修正ではなく、python Shell履歴を再び機能させるための回避策です。
私はそれなしではほとんど生産的ではないので、恒久的な修正があるかどうか調べ続けています。
私のためにそれを解決したのは、jsphpl(リンク解除してインストール)によって言及された手順を実行し、さらにbrewを使用してリンクを再度リンクし、python=再度リンクし、競合するファイルの上書きを許可することでした。
これは、Brewでインストールされたpythonを使用しているときに、XCodeまたはXCodeツールのアップグレード(OSアップグレードでよく発生します)で発生する可能性があります。
この場合、再インストールする必要があります:
brew reinstall python
python 2が必要な場合は、brewのデフォルトがpython3になっていることを思い出してください。
brew reinstall python2