Zopeのdebugコンソールをipython化する¶
Zope/Ploneアドベントカレンダーをtakanoryさんにお願いされた ので2日目を担当します。Zopeのdebugコンソールをipython化します。
とりあえずipythonはインストール済み( easy_install ipython )ということにしておきます。
まず bin/zopectl debug
コマンドで起動します。最近のPloneなら bin/instance debug
ですね。次に起動したインタラクティブシェル上で以下のように入力します:
>>> import IPython
>>> IPython.Shell.IPShell(user_ns=locals()).mainloop(sys_exit=1)
これ以降の対話はipythonで行われるようになります。お手軽ですね!以下は実際にやってみたときの画面キャプチャ(見やすくするためにちょっと加工)。出力結果が自動的pprintされるので見やすくなっていますね。
pyreadline がインストールしてあるとタブ補完も使えるようになります。
ipythonの機能で、オブジェクトの後ろに ? を付けると、型やソースの場所、doc stringが表示されます。さらに ?? (ハテナ2つ)を付けるとソースコードまで表示されます。とっても便利ですね。
次はこれを import IPython
等せずに bin/zopectl debug
起動したら最初からipythonシェルにする方法を書こうと思ったのですが、時間切れで間に合わず><
次のバトンは 田原悠西の日記 の田原さんです。よろしくー。