今回は Editra を使った、web2py アプリケーション開発について考えていきたいと思います。
IDE(統合開発環境)を使用した web2pyアプリケーション開発
以前、 Eclipse を使って web2py アプリケーションを開発するための設定について説明した。
web2py を Eclipse で開発するための設定について① 手動でEclipseを設定
web2py を Eclipse で開発するための設定について② スクリプトでEclipseを設定
web2py を Eclipse で開発するための設定について③ Unresolved import対策
Eclipse/PyDevを使った web2pyアプリケーション開発は使いやすいところもあったが、私としては次の点に不満があった。
- Eclipseに対して、アプリケーション毎に複雑な登録作業を行うことが必要。
- Eclipseは動作が重い割に、開発作業の全てを完結できない。
- Unresolved import対策 で意味がないコードを挿入するため、ソースが汚れる。
参考: python.org - IntegratedDevelopmentEnvironments
web2py ウェブベースIDE を置き換えることは不可能なので、軽いエディタに web2py コードを開発する支援機能があればよいのかも。調べたところ・・・あった。それが Editra 及び プラグイン だ。
Editra による web2py アプリケーションの開発支援機能
Editra は Windows・Mac・Linux といったマルチプラットフォームで動く、Python製オープンソースのテキストエディタだ。非常にたくさんのプログラム言語に対応した、ハイライト表示機能などのコーディング支援機能を持っている。
エディタにしては起動は少し重いが、Eclipse に比べたら格段に軽快に動く。またIMEのインライン入力には対応していないため、日本語入力は若干弱い。
参考: editra.org
(各種プラグインを導入した Editra 画面) |
Editra にはプラグインの導入が可能だ。数あるプラグインの中で、Python IDE を構成する次のプラグインがある。
|
これらのプラグインの機能の中で、web2py アプリケーション開発に有用と思われる機能を以下簡単に紹介してみる。
- デバッグ - PyStudio
Editra上でデバッグが可能だ。この機能は Winpdb の一部を使うため、事前に Winpdb を導入しておく必要がある。(web2py でデバッグツールを利用する ②)
以下簡単にデバッグ手順を紹介する。
- デバッグ対象のソース先頭に、Winpdb と同様に次のコードを挿入する。
import rpdb2 rpdb2.start_embedded_debugger('password')
password には適当なパスワード文字列(英数字)を設定する。 - デバッグ予定のソースを含んだプログラムを実行する。
- Editraのメニューの [表示] > [シェルフ] > [PyDebug]
をクリックすると、シェルフに Pydebug ウィンドウが開く。Pydebug の Remote ボタンを押すと、Winpdb と同様にリモートデバッグがアタッチできるようになるので、パスワードを入力してデバッグプロセスをアタッチする。 - するとエディタ上で、デバッグ状況が表示される。
ブレークポイントは行番号の横をクリックすることにより、設定・解除が可能だ。
デバッグ関連では次の機能もある。
PyVariable - 実行中の変数値を表示
PyExpression - 指定した変数値を表示
PyBreakPoint - ブレークポイントの管理
PyStackThread - 実行中モジュールを表示これらの機能もシェルフメニューで表示する
[表示] > [シェルフ] > [xxxxxxxxxx]
- デバッグ対象のソース先頭に、Winpdb と同様に次のコードを挿入する。
- PyAnalysis - PyStudio
PyAnalysis はコーディングチェックを行い、結果をエディタ上に表示する。
Editra はコードのハイライトや括弧のチェック表示などの機能を持っているが、PyAnalysis はさらに詳細なコードのチェックを行う。
例えば、変数や関数・クラスなどの定義の有無、Python 文法規則のチェック、さらに PEP8 と呼ばれる Python 公式コーディング規則への順守チェックを行う。
実際には PyAnalysis モジュール下で Pylint が動くようになっている。
注意点としては、編集中のソースは一旦保存してから分析を行う必要がある。これは Pylint が、ディスク上のファイルに対してコード分析を行うためである。
また web2py のモジュールはソース上はインポートしていないため、全てエラーになってしまう。この問題は Pylint の設定を変更することによって対応可能だ。しかし結構難しい設定のため、次回記事で紹介したい。
簡単に使い方を説明する。
- Editraのメニューの [表示] > [シェルフ] > [PyAnalysis] で PyAnalysis のウィンドウを開く。
Analyze ボタンを押して分析を開始する。
- コードブラウザ - CodeBrowser
-
コードブラウザは、ソースの構造を分析表示してくれる。
- プロジェクト - Projects
-
プロジェクトは、設定したプロジェクト下のファイル構造を表示してくれる。web2py の場合、applications フォルダ下にアプリケーションが作成されるため、これ毎に設定してあげればよい。
同様のプラグインとして、File Browser がある。このプラグインは Windows のエクスプローラのように、フォルダを全て表示してしまう。このため開発する時は、プロジェクトプラグインの方が効率がよいだろう。
以上で簡単に、web2py 開発で役立ちそうなプラグインの機能を紹介してみました。Editra のインストールやプラグインの設定自体は難しくありません。特に説明がなくても導入可能だと思います。
ただ、PyAnalysis の web2py 向け設定はちょっと難しいです。これについては Editra導入説明と併せて、次回紹介 してみたいと思います。