Qt Console でラグジュアリーな IPython
気付いてはいたんですよ、PythonのScriptsフォルダにipython-qtconsole.exeがいるのを。
ダブルクリックしても起動しないんで無視してました。
ところが、↓の記事を見て、使ってみたらとてもいいものだった!!
かっこ良くなったipython 0.11のqtconsoleを試す。: YATSTUKE BLOG
というわけでQt Console版のIPythonを使ってみる。(ほぼ元記事と内容がかぶっちゃいましたが……)
1.インストール
以下の環境を想定
OS | Windows7 (x86) |
Python | 2.7.2 |
IPython | 0.12 |
(1) PyQt4 のインストール
↓からPyQt-Py2.7-x86-gpl-4.9-1.exeを入手してインストール。
Riverbank | Software | PyQt | PyQt4 Download
とりあえずインストールタイプを"MINIMAL"にしてQt Runtimeのみ入れれば良い。
(2) pyzmq のインストール
pip install pyzmq でうまく入らなかったので早々にあきらめて↓からpyzmq-2.1.11.win32-py2.7.msiを入手して実行。
Downloads · zeromq/pyzmq · GitHub
Windows はインストーラが用意されている場合が多いのがいいね。
(3) pygments のインストール
pip install pygments でインストール。バージョン1.4が入った。
これでリッチなQt Console 生活を始める準備が整った。
2.使い方
Python インストールフォルダ配下のScriptsフォルダにあるipython-qtconsole.exeを起動。
とりあえず色々入力してみよう。
- 入力するとimportやdefなどの予約後やモジュール名・メソッド名などが自動的にシンタックスハイライトされる!
- 括弧にカーソルを合わせると対応する括弧が強調表示される!
- コマンドライン引数で --pylab=inline を指定するとMatplotlibのプロットがコンソールないに表示される!
- コピー・カット・貼り付けがCtrl + c、Ctrl + x、 Ctrl + v !
- 画面の入力・出力した内容をhtmlファイルとして保存できる!
- Tabキーでの候補表示でプロンプトが改行しない!
- Ctrl + Enter で複数行の入力が可能!(履歴も複数行で出てくる)
- タブでコンソールを複数開ける!
- 同じセッションで開くことも、新しいセッションで開くこともできる!
- 入力・出力内容をhtml/xhtml形式でエクスポートできる!(グラフも!)
- 全てのマジック関数がメニュー上から実行できる!
- なにげにチートシートを表示できるのがいいかも!
3.フォントの変え方
デフォルトの文字がちょっと小さいと感じるなど、フォントの設定を変更したい場合は以下の通り。
(2) profile の修正
(1)により以下にprofileフォルダが作成される。
C:\Users\<現在のユーザ名>\.ipython\profile_<プロフィール名> ※ XPだとDocument and Settings配下だったと思われ。
ipython_qtconsole_config.py を開いて以下の修正を行う。
213行目 # c.IPythonWidget.font_size = 0 ↓コメントアウトを外して任意のサイズ値を指定 c.IPythonWidget.font_size = 12 273行目 # c.IPythonWidget.font_family = u'' ↓コメントアウトを外して任意のフォント名を指定 c.IPythonWidget.font_family = u'MS Gothic'
(3) オプション引数指定
ipython-qtconsole.exe にオプション引数"--profile=<プロフィール名>"を指定して起動する。
4.まとめ
Windowsでの対話シェルはIPythonのQtConsoleが最もリッチでよさそう。
でも私の環境だと、import行でTab補完するとIPythonのカーネルから応答がなくなるけど。何でですかね。誰か助けて。