2009-03-22 7 views
12

IPythonで長い行を実行していて、上矢印を使用してそれを呼び出すか、現在の行の先頭を超えてバックスペースを呼び出すと、間違って表示されますライン)例えばIPythonシェルの行ラッピングの問題

は、私が長いライン[1]を書いた次のセッションでは、ライン[3]print声明を取得するために二回矢印アップ、その後、やや-空白行[2]を入力すると、次のことが起こった:

Line wrap issue

幸せ私はiTermとTerminal.appの両方でうまくいく。私は正常にカラーコードを終了することで修正された通常のターミナルセッションで同様の問題があったが、IPythonでそれを修正する方法がわからない

+0

この問題はすっごく長い間私を幽霊....私はIPythonがこれを引き起こしたことを、今までは実現しませんでした。 "リセット"、 "tput"、 "shopt -s checkwinsize"、PS1、tmux resize-pane、エスケープ文字のマジックをリセットしようとしましたが、すべて無駄です。 IPythonがTMuxから呼び出され、IPythonが強制終了されたか、バックグラウンド(CTRL + Z)に送られた場合にのみ発生することがわかりました。 – Andor

答えて

11

なるほど!私はPythonのreadlineモジュールの古いバージョンを持っていた - http://ipython.scipy.org/dist/から最新のものをインストールすると、それは完全に動作します!

sudo easy_install http://ipython.scipy.org/dist/readline-2.5.1-py2.5-macosx-10.5-i386.egg 
+0

pipではなくeasy_installを使用していることを確認してください。私は "pip install readline"を試しましたが、readlineをインストールしていても、ipythonにはまだ問題がありました。アンインストールし、easy_installを使用して問題を解決しました。 – Brian

+1

'' pip install readline''はちゃんと動いて問題を解決しました.. – redShadow

+0

私のLinux Mintのインストールで 'pip install readline'は' apt-get install libncurses5-dev'でlibncursesをインストールする必要がありました。 – LondonRob

1

私は再現できないそれ(上向き矢印はipythonで長い行のために働く):

ipython up-arrow long line

+0

:/それは本当に面倒です、私は、さまざまな端末プロファイルを使用して、最新の安定版(ipython 0.9.1)、2つの異なるマシンを使用して、任意のプロファイルのカスタマイズを無効にしようとしました..どのようなターミナルエミュレータ/シェル/ python/ipythonバージョンなどあなたは使っていますか? – dbr

+0

上記のコメントは絶対に気にしないでください! – dbr

2

Snow Leopardでこの問題が発生しました。 http://pypi.python.org/pypi/readline/からのreadlineの新しいバージョンをインストールすると、それが修正されています。

sudo easy_install http://pypi.python.org/packages/2.6/r/readline/readline-2.6.4-py2.6-macosx-10.6-universal.egg 
+0

私の在庫Snow Leopardにはpython2.6.1があり、2.6.4のバージョンは動作しませんでした。また、主なピピが最近遅いので代替ミラーを使用するリンクもあります。 sudo easy_install http://d.pypi.python.org/packages/2.6/r/readline/readline-2.6.1-py2.6-macosx-10.6-universal.egg –

+0

良い点。私は、PythonのMacPorts版を使っていると付け加えるべきです - 'python_select -s'を実行すると 'python26-apple'の代わりに 'python26'が返されます。これは 'python_select -l'に現れます。 – aam

関連する問題