かっこ良くなった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に追いつき、追い越している部分が結構ある。いろいろな改善点はここによくまとまっている。)
というわけでマルチラインが基本な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に再インストール »
「パソコン・インターネット」カテゴリの記事
- Linuxのデスクトップ環境にログインした時にxmodmapコマンド実行(2023.12.30)
- youtube-dlでrumbleをダウンロード(2023.12.06)
- Pop!_OSのアプデがfcitxを繰り返し葬る件(2023.05.22)
- vue.jsで遊んでみる(2023.01.02)
- 『将棋神やねうら王』のオープンソース版MyShogiをLinux Mint 19.1でビルドしてみた件(2019.03.24)
「学問・資格」カテゴリの記事
- ウイルスを殺すのは簡単。人に無害でやるのが難しいの!! 二酸化塩素「こう?えい!」(2020.03.11)
- 老化はエピジェネティクスな影響が積り、スプライシングに影響を与えるのかも(2017.11.20)
- シネッセンス細胞がアツい。不老不死とハゲの治療が同時に可能か?(2017.11.18)
- 古めの論文でテキスト選択がおかしい時の対処法(2017.09.08)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
「Python」カテゴリの記事
- Noteの記事をPythonでバックアップしといた。(2021.05.05)
- JupyterLabでも好きな外部エディターを使いたい!(2018.05.02)
- ローカルエリア内のJupyterLabサーバーにLAN経由で接続する。(2018.05.02)
- Juliaやってみよう。五日目。Pythonと速度比較。(2017.08.01)
- Juliaやってみよう。四日目。@timeでプロファイリング(2017.07.16)
« GeanyなどGTK+に依存するソフトでSynapticsのタッチパッドでスクロールしない問題 解決 | トップページ | ATOK月額版を64-bit英語版Windows 7に再インストール »
コメント