2011/06/09からのアクセス回数 4369 デバッガを使いたい †sage/PRML- ニューラルネットワークのスケール共役勾配法 のように長いスクリプトを作成するようになると、 どうしてもデバッガをほしいと思うことがあります。 できれば使い慣れた環境でデバッグしたいと思うのプログラマー の常です。 EclipseのPython用プラグインPydevを使う †ここでは、pythonで紹介したPydevを使ってデバッグする方法 をお教えします(本邦初公開!)。 Python Interpretersの設定 †最初に、EclipseのPreferencesからPydev->Interpreter-Pythonを選択します。 以下のような画面になりますので、
これでPydevの設定は完了です。 Eclipse起動用のスクリプト †Pydevでsageのスクリプトをデバッグするには、環境変数を整えた後、 Eclipseを起動する必要があります。 そのため、以下のようなスクリプトをsageのディレクトリに作成します。 MyStartEclipseForSage.sh #!/bin/bash export SAGE_ROOT=/Users/take/local/sage . $SAGE_ROOT/local/bin/sage-env 1>/dev/null 2>/dev/null /Users/take/local/eclipse3.4/Eclipse.app/Contents/MacOS/eclipse 1>/dev/null 2>/dev/null ここで、
とします。 デバッグ方法 †デバッグ用スクリプトの修正 †デバッグするスクリプトは最初に、おまじないのfrom sage.all import *をつけます。 以下にsage/PRML-線形回帰の最初の行をテスト用に使用します。 from sage.all import * data = matrix([ [0.000000, 0.349486], [0.111111, 0.830839], [0.222222, 1.007332], [0.333333, 0.971507], [0.444444, 0.133066], [0.555556, 0.166823], [0.666667, -0.848307], [0.777778, -0.445686], [0.888889, -0.563567], [1.000000, 0.261502], ]); X = data.column(0) t = data.column(1) M = 3; var('x') sin_plt = plot(sin(2*pi*x),[x, 0, 1], rgbcolor='green'); data_plt = list_plot(zip(X, t)); data_plt (data_plt + sin_plt).show() print t デバッグの設定 †デバッグ方法は、普通のPydevのスクリプトと同じなのですが、 Pydevのデバッグ用設定で、Interpreterに先ほど追加したsage用のpythonを指定する必要 があります。 デバッグ時の画面 †Eclipseでデバッグしている場合には、グラフはプレビューで別ウィンドウに表示されます。 ブレークポイント、ステップ実行、変数の参照はEclipseのデバッガと同じです。 これで、Sageでスクリプトを作成する障害はなくなりました。 どんどん挑戦してみてください。 コメント †皆様のご意見、ご希望をお待ちしております。 Tweet |