« GeanyなどGTK+に依存するソフトでSynapticsのタッチパッドでスクロールしない問題 解決 | トップページ | ATOK月額版を64-bit英語版Windows 7に再インストール »

2011年9月13日 (火)

かっこ良くなったipython 0.11のqtconsoleを試す。

バージョンが0.11になって新たにQtを使ったGUIによって表現力が増したコンソールを使えるようになったiPythonを試します。このバージョンの変更点の目玉は、

  • マルチラインの入力が可能。リターンの代わりにコントロール+リターンで続けて入力できる。
  • QtのGUIでかっこ良くなったコンソールへプロットを埋込むことが可能。
  • Python3にも対応

の3点です。マルチラインがなぜ良いかというと、カーソルで履歴に戻るときに、コードのブロックが一括で出てくるので、いちいち全部打ち直さずに良いので非常に重宝します。Qtはかっこ良くなったのがいいが、埋め込みは便利なのかいまいち使ってみるまで不明な感じ。(追記:QtというかzeroMQをQt上で使いカーネル・フロントエンドの2プロセスモデルにすることで、いろいろな利点があるようです。例えば、ctypesでミスったとかセグメンテーション違反などでpythonのインタプリタがクラッシュしても、ユーザーセッションが影響を受けないとか、 並列化でTwistedに比べPython3に対応がしやすいとか。)

(最追記:セッションをHTMLで記録できるようになったみたいだけど、Dreampieでは昔からあるじゃんとおもったが、FigureがうめこまれたHTMLまたはPDFができるのはすごいかも。ツールチップもDreampieの小さなツールチップに比べ、見やすさもなかなかだし、並列化とかはDreampieには無理だと思うし、コピペしたときにいらないタブやスペース、プロンプト記号などを自動でとってくれるのは嬉しい。Dreampieに追いつき、追い越している部分が結構ある。いろいろな改善点はここによくまとまっている。)

Ipythonqtconsoleembedfig_2

というわけでマルチラインが基本なDreampie派であった私も今回は注目なバージョンアップなわけです。時間がなくて試してませんでしたが、ようやくインストールしてみました。

Pythonは相変わらず2.6系で行きます。まだまだ対応しているライブラリーの数からいくと3系よりも2.7系よりも2.6系がやっぱりおすすめ。

まずはhttp://ipython.org/ipython-doc/stable/install/install.htmlを参考にipythonをインストールまたはアップデートする。

http://ipython.scipy.org/dist/からバイナリーインストーラーでやるのが簡単。pipかeasy_installでも可能。pipでインストールしてあればpip install ipython --upgradeで古いバージョンからアップデートできるはず。

ここままでは起動しないので、エラーが見えるようにコマンドプロンプトからC:\Python26\Scriptsにいって
ipython qtconsole
としてみるとPyQt4かPySideを入れてと言われる。
http://www.riverbankcomputing.co.uk/software/pyqt/download
から32ビット版PyQt4を入れた。64ビットのパソコンを使っていても、普通はまず32ビット版が無難でしょう。

で、今度は、pygmentsを入れてねと言われる。http://ipython.org/ipython-doc/stable/install/install.htmlではpygmentsはpyzmqに依存するとあるので、まずはpyzmqを入れる。
pip install pyzmq
としてみたが2.1.9をとりに行ってエラーになる。念のために
IPython.zmq depends on pyzmq >= 2.1.4.とあるのでバージョンを指定してpipしても
pip install pyzmq==2.1.4
やっぱりエラー。

実は、https://github.com/zeromq/pyzmq/downloadsに2.7系や3.2系のMSIのインストーラーがあって、それにはeggが含まれているらしいが2.6系は配布されていない。普通は2.6が一番枯れていていいが、今回は2.7の方が楽という状況だった。こういうことが今年に入って2回目。少しづつ2.6が古くなってきているかも。

しょうがないのでソースからビルドすることになった。pyzmqはlibzmqへのPython bindingなのでlibzmqをビルドする。2.1.9のsourceをhttp://www.zeromq.org/area:downloadからダウンロードして解凍。エクスプレスエディションでいいので、なければVS2008をインストールして解凍先のbuilds\msvc\msvc.slnを開く。F7をおして、solutionをビルドする。すると、libというフォルダーが解凍先の一番上のフォルダーにできてここにビルドされたDLLがコピーされる。同じレベルにはincludeフォルダーもあるはず。このフォルダーへのパスを覚えておく。

準備ができたのでzmqのpyzmqをインストールする。ウインドウズではpipがビルドに失敗するのでソースをダウンロードする。
https://github.com/zeromq/pyzmq/downloads/pyzmq-2.1.9.zip
コマンドプロンプトから解凍先に移動して

python setup.py installするとzmqが見つからないと怒られconfigureしろというので
python setup.py configure --zmq=path/to/zeromq-2.1.9
として設定をする。パスの指定は、先程のlibとincludeフォルダーがあるzeromq-2.1.9のフォルダー。設定がすめば普通に
python setup.py install
でうまくいくはず。(pipでは設定した意味が無い。)
最後に、ようやくpygmentsをインストール。
pip install pygmentsがうまく行ったらおしまい。

さてさてhttp://ipython.org/ipython-doc/stable/interactive/qtconsole.htmlにあるようなmatplotlibのfigureをコンソールに埋め込むのを試しましょう。どうやら起動オプションが2つ必要です。
C:\Python26\Scripts\ipython qtconsole --pylab=inline
という感じのショートカットを作っておくといいでしょう。

実際は --pylab=inlineではなくただの--pylabでもいいですが、その場合f=figure()としてハンドルをもっておいて、いろいろプロットし、最後にdisplay(f)とやると埋め込まれます。

さらに--colors=linuxというオプションをつけるとDreampieのような黒い背景のコンソールになります。Dreampieみたいで好きだが、プロットが白いのでいまいちかも。

« GeanyなどGTK+に依存するソフトでSynapticsのタッチパッドでスクロールしない問題 解決 | トップページ | ATOK月額版を64-bit英語版Windows 7に再インストール »

パソコン・インターネット」カテゴリの記事

学問・資格」カテゴリの記事

Python」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: かっこ良くなったipython 0.11のqtconsoleを試す。:

« GeanyなどGTK+に依存するソフトでSynapticsのタッチパッドでスクロールしない問題 解決 | トップページ | ATOK月額版を64-bit英語版Windows 7に再インストール »

しろののツイッタータイムライン

  • ツイッターは5つ目も凍結されました。6つ目での復活も不可能。なのでnoteに注力しています。

    と思ったら、イーロン・マスクの買収が公になってアカウントが復活できました。ありがとうマスク。

    トランプ関連記事の一覧リスト

オススメたち

2024年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

はてブ

無料ブログはココログ