2011年7月27日水曜日

web2py アプリケーションを Editra で開発する ② Editraプラグインの設定

前回の記事 で web2py アプリケーション開発に便利な Editra プラグインの機能を紹介しました。ちょっと間が開いてしまいましたが今回は、Editra 及び プラグインの設定について書いていきます。

Editra のインストールと設定
インストール

Editra のインストールは Windows なら、次のサイトからインストール用バイナリパッケージをダウンロードして実行する。同様に Macintosh 用バイナリパッケージもサイトからダウンロード可能だ。

Linux については、パッケージ管理システムを利用してインストールする。

ダウンロードサイト: editra.org - Downloads

Windwos版のバイナリパッケージには Python 環境が含まれる。ところで、Editra 上で Pythonシェルを表示する PyShell というプラグインがある。バイナリパッケージ版では、パッケージに組み込まれた Python 環境で PyShell が動く。

組み込みPython環境が気に入らない場合、Editraソースから実行モジュールを生成すれば OS の Python が組み込まれる。しかしモジュール生成には、かなり手間がかかる。また PyShell は使いにくいため、通常の シェル環境を使ったほうがよい。このためバイナリパッケージを使ってインストールした方が、なにかと賢明だろう。

設定

Editra の設定は、特に説明する必要がないくらい簡単だ。ここでは最小限の設定だけ説明する。

  • 言語の設定
    言語の設定はメニューの
    [Edit(編集)] > [Preferences(環境設定)] で Preferences(環境設定) ダイアログを開き、
    [Local settings: Language] を必要な言語に変更する。
  • 最後のセッションの読み込み
    Editra 起動時に、前回起動時の状態を復元する設定をしておくと便利だ。設定は「言語の設定」と同じ画面にある、[Load Last Session(最後のセッションを読み込む)] をチェックする。
  • エディタ画面の配色を変更
    使いやすい配色に変更可能だ。設定は、Preferences(環境設定)ダイアログの [Document(ドキュメント)] > [Syntax Highlighting(文法ハイライト)] で、[Coloe Scheme(カラースキーム)] を好きな配色に変更する。
プラグインのインストールと設定

前回の記事(Editra による web2py アプリケーションの開発支援機能) でも紹介したが、Editra で Python IDE を構成する次のプラグインがある。

  • PyStudio
  • Launch
  • PyShell
  • CodeBrowser
  • Projects

この他に次のプラグインも便利だ。

  • CodeTemplater

これらのプラグインは、次の手順でインストールを行う。

  1. Editra メニューの [ツール] > [プラグインマーネジャ] で プラグインマネージャ を開く。
  2. [ダウンロード] タブを開いて必要なプラグインにチェックを入れ、[ダウンロード] ボタンを押す。
  3. [インストール] タブを開いて [インストール] ボタンを押す。
  4. [設定] タブを開いて各プラグインの [有効] にチェックを入れる。
  5. Editra を再起動する。
PyStudio - PyAnalysis の設定

PyStudio の PyAnalysis を web2pyアプリケーション開発に利用するには、少し難しい設定が必要だと 前回の記事(PyAnalysis - PyStudio) で書いた。この設定について解説する。

PyAnalysis は Pylint を使ってコードのチェックを行う。まずOSのデフォルトPython環境に、Pylint のインストールを行う。

1. Pylint のインストール
コマンドプロンプトから pip もしくは easy_install でインストールする。
pip install pylint
(もしくは)
easy_install pylint

web2pyアプリケーションソースを Pylint を使ってコードチェックする場合に問題になるのが、ソース上は明示的にインポートしていないモジュールの扱いである。web2pyフレームワーク上では問題なく動くコードが、Pylint のチェックではエラー表示になるという現象である。

この問題の解決には、Pylint のオプション機能を使う。Pytlint は rcfile と呼ばれるファイルを設定することによって、チェック動作のカスタマイズが可能だ。

2. Pylint rcfile のひな形を作成

Pylint 自身が、rcfile ファイルのひな形を生成するので作ってみる。

コマンドプロンプト上で、次のコマンドを発行する。

pylint --generate-rcfile > .pylintrc

--generate-rcfile は Pylint のオプションである。このまま実行してもコマンドプロンプト上にひな形が表示されるだけなので、リダイレクトしてファイルに保存するようにする。保存ファイル名は .pylintrc と指定しているが、これは何でもよい(例 rc_test.txt など)。

3. Pylint rcfile に web2py の設定をする

保存したひな形のファイルをテキストエディタで開き、additional-builtins という記述を検索する。この記述は VARIABLES というセクションにある。

記述が見つかったら、次のように設定する。

additional-builtins=gluon,GQLDB,A,B,BEAUTIFY,BODY,BR,CENTER,CLEANUP,CODE,CRYPT,DIV,FORM,I,IFRAME,IMG,INPUT,IS_ALPHANUMERIC,IS_DATE,IS_DATETIME,IS_DATETIME_IN_RANGE,IS_DATE_IN_RANGE,IS_DECIMAL_IN_RANGE,IS_EMAIL,IS_EMPTY_OR,IS_EQUAL_TO,IS_EXPR,IS_FLOAT_IN_RANGE,IS_IMAGE,IS_INT_IN_RANGE,IS_IN_DB,IS_IN_SET,IS_IPV4,IS_LENGTH,IS_LIST_OF,IS_LOWER,IS_MATCH,IS_NOT_EMPTY,IS_NOT_IN_DB,IS_NULL_OR,IS_SLUG,IS_STRONG,IS_TIME,IS_UPLOAD_FILENAME,IS_UPPER,IS_URL,LABEL,LEGEND,LI,LINK,MARKMIN,MENU,META,OBJECT,OL,ON,OPTGROUP,OPTION,P,PRE,SCRIPT,SELECT,SPAN,TABLE,TAG,TBODY,TD,TEXTAREA,TFOOT,TH,THEAD,TITLE,TR,TT,UL,URL,XHTML,XML,embed64,xmlescape,SQLDB,SQLFORM,SQLField,SQLTABLE,STYLE,redirect,T,local_import,request,response,service,session,DAL,HTTP,LOAD,Auth,Service,auth,cache,crud,db,Field,EM,EMBED,FIELDSET,H1,H2,H3,H4,H5,H6,HEAD,HR,HTML
additional-builtins に web2py のクラスや関数・変数名を登録することによって、Pylint でのチェック時に「定義が存在しない」というエラーを回避することができる。

ここで重要なのは、上記の設定値の途中に改行を含まないことである。改行があると Pylint は途中で設定値の読み込みを止めてしまう。

設定したらファイルを保存する。

Pylint は設定された rcfile があれば、実行時にオプションで指定して実行できる。しかし今回 PyAnalysis から Pylint が呼ばれるため、オプションを指定しては実行できない。この解決のために PyStudio は特殊な設定ファイルを用意している。それが、__dirvar_py__.cfg 設定ファイルだ。

4. PyStudio 設定ファイル

PyStudio 設定ファイルは、PYTHONPATH で設定されたパスが通ったフォルダに位置する必要がある。ファイル名は __dirvar_py__.cfg という名前であることが必要だ。

参考: editra-plugins PyStudio

このファイル内に三種類の設定値を定義することが可能だ。Pylint の rcfile 設定としては、次のようにテキストエディタで記述する。

PYLINTRC=./.pylintrc

これは __dirvar_py__.cfg が位置するフォルダと同一フォルダに .pylintrc という名前のファイルがあり、そのファイルが rcfile だと指定している。もし rcfile ファイルが __dirvar_py__.cfg と別フォルダににあるなら、相対パスもしくは絶対パスで指定する。

PYTHONPATH について分からなければ、PythonのPathについて を参考にして欲しい。


 

以上で設定は完了する。実際に PyAnalysis を実行してみる。

PyAnalysis の先頭行で、__dirvar_py__.cfg の読み込みを行い。次に Pylint が --rcfile オプションを付けて実行しているのがわかる。

他に注意点としては、もし PyStadio のバージョン0.2 以下が導入されている場合、rcfile オプションはバグのために正常には動かない。バージョン0.3 以上にバージョンアップしてから実行して欲しい。

additional-builtins に足りないキーワードがあった場合は、追加して欲しい。