連休は特に外出する予定もなかったので、Trac のプラグイン開発の準備でもしようと思い環境を作ってみた。
いろいろな所に散らばっている情報を拾っては適用、拾っては適用の繰り返しだったので、備忘録も兼ねてまとめておく。
#なんか、秋休みの自由研究みたいだ^^;
環境
- Windows XP SP3
- Trac Lightning 2.3.1
- Eclipse 3.5
- Python 2.5
参考ページ
TracLightning のインストール
- ここから TracLightning をダウンロードし、インストールする
Eclipse のインストールと日本語化
- ここから 「Eclipse IDE for C/C++ Developers」をダウンロード
- ここから Eclipse の日本語化パッチをダウンロード(解凍時の注意も参照のこと)
- Eclipse の ZIP アーカイブ(ここでは eclipse-cpp-galileo-win32.zip )を解凍し「C:\」へコピー
- 日本語パッチの ZIP アーカイブ(ここでは eclipse-cpp-galileo-win32.zip )を解凍し eclipse フォルダ(「C:\eclipse」)へコピー
- 「eclipse.ini」を開き、最終行に「-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar」を追加する
- Eclipse を起動する(ワークスペースなどはそのまま)
PyDev のインストール
PyDev の設定
PyDev からの Trac デバッグ環境の設定
- メニューの「実行|実行構成」から 「Python 実行」を右クリックし「新規」を選択する
- 「メイン」タブの「名前」は適当な名前を「プロジェクト」にはこの環境で起動するプロジェクト(後で使うので helloplugin とした)を「メイン・モジュール」には手動で「C:\TracLight\python\Lib\site-packages\Trac-0.11.5.ja1-py2.5.egg\trac\web\standalone.py」を入力し「適用」ボタンを押下する
- 「引数」タブの「プログラムの引数」に手動で「-p 80 --auth=*,C:\TracLight\projects\trac.htdigest,trac C:\TracLight\projects\trac\SampleProject」を入力し「適用」ボタンを押下する
値 | 意味 |
---|---|
80 | デバッグ起動時のポート番号 |
C:\TracLight\projects\trac.htdigest | デバッグ起動時の認証ファイル |
C:\TracLight\projects\trac\SampleProject | デバッグ対象の Trac プロジェクトフォルダ |
プロジェクトの作成
プラグインの作成
- ここを参考にプラグインを作成する
- コマンドプロンプトを開き、プラグインの setup.py があるフォルダへ移動する(ここでは C:\Documents and Settings\kaorun\workspace\helloplugin)
- 「python setup.py develop」を実行する
- 外部でフォルダやファイルを作成した場合、プロジェクトを右クリックして「リフレッシュ」を選択するとワークスペースに反映される
- 試しに helloworld/helloworld.py を開き、25行目にブレークポイントを設定する
- メニューの「実行|デバッグ」を選択すると Trac が起動する
- 「http://localhost」を開き、プロジェクトを選択する
- 表示崩れを直すために、プロジェクトの trac.ini (ここでは C:\TracLight\projects\trac\SampleProject\conf\trac.ini )を開き、[trac] の項目に 「htdocs_location =」を追加する
- Trac を再読み込みさせると表示が戻る
- admin でログインし[管理|プラグイン]を開くと作成したプラグインが登録されているので「有効」にチェックをいれ「変更を適用」ボタンを押下する
- プラグインを有効にするとメニューに「Hello World」が追加される
- Trac メニューの「Hello World」を押下すると Eclipse のデバッガが反応する
- Eclipse メニューの[実行|再開]を選択すると 動作が再開され、 Trac の画面に 「Hello world!」が表示される
- デバッグを終了するときはEclipse メニューの[実行|終了]を選択する