Win7 ipython を、cygwin が提供する適切なターミナルとシェル内でインタラクティブに実行したいと思っています (mintty または rxvt が最適です)。
私はPythonである程度の成功を収めましたが、IPythonは実際には協力していません. これを rxvt bash プロンプトから実行すると、次のようになります。
$ /cygdrive/c/pydir/python.exe -i
私はかなり成功したpythonインタラクティブセッションに行き着きました。しかし、vanilla python は IPython ほど素晴らしいものではありません。それで、私はこれを試します:
$ /cygdrive/c/pydir/ipython.exe
プログラムは bash プロンプトをブロックするだけで、まったく別のプロセスを生成するように見えます (ウィンドウを生成しないか、stdin/stdout の兆候を示しません)。
代わりにこれを使用する場合:
$ /cygdrive/c/pydir/python.exe -i /cygdrive/c/pydir/ipython-script.py
最初はわくわくしますが、ipython が端末と適切に連携していないことにすぐに気付きます。readline のサポートがなく、カーソル制御が不十分で、stdin は典型的な python を処理しているようですが、[out] プロンプトはありません (ただし、"prints" はテキストを吐き出します)。は非常に反抗的です)、ncurse バッファーのようなものは維持されていません (ipy コマンド プロンプトを上書きするだけでかまいません)。セッションをあきらめると、退出は別の問題になります。bash プロンプトに戻ることはできますが、標準入力がありません。Windows 側から強制終了する必要がある python.exe プロセスが常にハングしていることが判明しました (そして、終了するまで stdin を解放しません)。
この方法で Ipython を実行するための簡単な修正または代替方法はありますか? ほとんどの開発は cygwin バイナリを使用して行うことができますが、win32 バイナリをインタラクティブに実行できると、win32 固有の Python ライブラリをデバッグ/テストするときに非常に役立ちます。
PS:::: タブ補完とクリーンな出力が本当に必要です。私はたくさんの COM インターフェイスを通り抜けようとしていますが、どこにでもアクセスできる唯一の方法は、インタラクティブな ipy セッションを使用することです。
PS:::: 私は 64 ビットの Cygwin と 32 ビットの win32 python を使用しています。これは単純なミスマッチでしょうか?