Warning: リポジトリと同期できません (サポートされていないバージョンコントロールシステム "svn です。 Python のライブラリに "svn" が正しくインストールされているか確認してください。)
- 更新日時:
-
2006/10/21 20:29:01 (18 年 前)
- 更新者:
-
trac (IP アドレス: 127.0.0.1)
- コメント:
-
--
-
v1
|
v2
|
|
2 | 2 | [[TracGuideToc]] |
3 | 3 | |
4 | | バージョン 0.9 以降、 Trac はプラグインをサポートし、組み込み機能を拡張できるようになりました。プラグインの機能は [http://projects.edgewall.com/trac/wiki/TracDev/ComponentArchitecture コンポーネント設計] に基づいています。 |
| 4 | バージョン 0.9 以降、 Trac はプラグイン機能に対応し、組み込み機能を拡張できるようになりました。プラグインの機能は [http://trac.edgewall.org/wiki/TracDev/ComponentArchitecture コンポーネント設計] に基づいています。 |
5 | 5 | |
6 | 6 | == 必要条件 == |
7 | 7 | |
8 | | Trac のプラグインを使用するためには、 [http://peak.telecommunity.com/DevCenter/setuptools setuptools] (バージョン 0.6) をインストールしなければなりません。 |
| 8 | Python egg が基になっている Trac のプラグインを使用するためには、 [http://peak.telecommunity.com/DevCenter/setuptools setuptools] (バージョン 0.6) をインストールしなければなりません。 |
9 | 9 | |
10 | | `setuptools` をインストールするために、ブートストラップモジュールである[http://peak.telecommunity.com/dist/ez_setup.py ez_setup.py]をダウンロードし、以下に示すように実行して下さい: |
| 10 | プラグインは単一の `.py` ファイルから成り立っていて、各 TracEnvironment かグローバルの `plugin` ディレクトリに配置します。 ''([http://trac.edgewall.org/milestone/0.10 milestone:0.10] 以降)'' |
| 11 | |
| 12 | `setuptools` をインストールするために、ブートストラップモジュールである [http://peak.telecommunity.com/dist/ez_setup.py ez_setup.py] をダウンロードし、以下に示すように実行して下さい: |
11 | 13 | {{{ |
12 | 14 | $ python ez_setup.py |
… |
… |
|
27 | 29 | 一度、プラグインアーカイブを作成したら、 [wiki:TracEnvironment TracEnvironment] の `plugins` ディレクトリにコピーする必要があります。また、 Web サーバーが egg プラグインを読み取るのに必要なパーミッションをつけてください。 |
28 | 30 | |
| 31 | Python egg をビルドするための Python のバージョンと |
| 32 | Trac を動かしている Python のバージョンが一致しなければなりません。 |
| 33 | 例えば、 Trac を Python のバージョン 2.3 以前で動かしていて、 |
| 34 | 2.4 にアップグレードしたときに、 |
| 35 | Python egg は認識されなくなるでしょう。 |
| 36 | |
29 | 37 | === すべてのプロジェクト === |
30 | 38 | |
31 | | すべてのプロジェクトでプラグインを使用したいとき ([http://projects.edgewall.com/trac/wiki/WebAdmin WebAdmin] など) はグローバルにインストールし動かすことができます。 |
| 39 | ==== 単一の .egg ファイル ==== |
| 40 | |
| 41 | いくつかのプラグイン (例えば [http://trac.edgewall.org/wiki/WebAdmin WebAdmin]) は `.egg` ファイルとしてダウンロードし、 `easy_install` プログラムでインストールすることができます: |
| 42 | {{{ |
| 43 | easy_install TracWebAdmin-0.1.1dev_r2765-py2.3.egg |
| 44 | }}} |
| 45 | |
| 46 | もし、システムに `easy_install` がなくてプラグインをインストールするには上記の必要条件のセクションを見て下さい。 Windows ユーザは `Scripts` ディレクトリを Python をインストールしたディレクトリ (例えば、 `C:\Python23\Scripts`) を環境変数 `PATH` に加えなければなりません。 (より詳しい情報は、 [http://peak.telecommunity.com/DevCenter/EasyInstall#windows-notes easy_install の Windows Notes] を参照して下さい。) |
| 47 | |
| 48 | zipで固められた Python egg をインストールし、 Web サーバに Python egg のキャッシュディレクトリに書き込み権限をつけているのにも関わらず、 Trac がパーミッションエラーを出したら、 解凍した Python egg を単に置き直すことによって回避できます。 `easy_install` に `--always-unzip` オプションを付けるだけです: |
| 49 | {{{ |
| 50 | easy_install --always-unzip TracWebAdmin-0.1.1dev_r2765-py2.3.egg |
| 51 | }}} |
| 52 | zip で固められた Python egg ファイルと同じ名前のディレクトリ (拡張子が `.egg` で終わっているもの) ができ、そのなかに解凍した中身が入っているでしょう。 |
| 53 | |
| 54 | Trac はまた `$prefix/share/trac/plugins` 配下に、グローバルにインストールされたプラグインを検索します ''(0.10 以降)''。 |
| 55 | |
| 56 | ==== ソースから ==== |
| 57 | |
| 58 | Subversion からダウンロードしたプラグインのソースや zip で固められたソースファイルはソース中に含まれている `setup.py` を使用してインストールできます: |
32 | 59 | {{{ |
33 | 60 | $ python setup.py install |
34 | 61 | }}} |
35 | 62 | |
36 | | 代わりに、`.egg` ファイルを Python の `site-packages` ディレクトリにおくだけでもいいです。 |
37 | | |
| 63 | ==== プラグインを有効にする ==== |
38 | 64 | 個別の TracEnvironment にプラグインをインストールする場合と異なり、システム全体にインストールしたプラグインを有効にするためには、 [wiki:TracIni trac.ini] ファイルで明示的に指定しなければいけません。これは設定ファイルの `[components]` セクションに次のような記載を行います: |
39 | 65 | {{{ |
… |
… |
|
43 | 69 | |
44 | 70 | オプションの名前はプラグインの Python パッケージ名です。これはプラグインのドキュメンテーションに指定されていなければいけませんが、ソースを見れば簡単に見つけることが出来ます。(最上位のディレクトリにあるファイル `__init__.py` を探してください。) |
| 71 | |
| 72 | Note: プラグインのインストール後、 Apache を再起動する必要があるでしょう。 |
45 | 73 | |
46 | 74 | == プラグインのキャッシュの設定 == |
… |
… |
|
72 | 100 | }}} |
73 | 101 | |
74 | | [wiki:TracFastCgi FastCGI] で、Web サーバに設定するためには、 `-initial-env` オプションやサーバーが指定している方法で、環境変数を設定する必要があります。 |
| 102 | ''Note: これは `mod_env` モジュールが必要です。'' |
| 103 | |
| 104 | [wiki:TracFastCgi FastCGI] で、 Web サーバに設定するためには、 `-initial-env` オプションやサーバーが指定している方法で、環境変数を設定する必要があります。 |
| 105 | |
| 106 | === Subversion の フックスクリプトについて === |
| 107 | |
| 108 | もし、 Trac エンジンを呼び出すような Subversion の フックスクリプト - Trac の配布物の `/contrib` ディレクトリで提供されている post-commit フックスクリプトなど - を設定していたら、プラグインと同様にスクリプトの中で環境変数 `PYTHON_EGG_CACHE` を定義して下さい。 |
| 109 | |
| 110 | == トラブルシューティング == |
| 111 | |
| 112 | === setuptools は正しくインストールされていますか? === |
| 113 | |
| 114 | これコマンドラインで実行してみてください: |
| 115 | {{{ |
| 116 | $ python -c "import pkg_resources" |
| 117 | }}} |
| 118 | |
| 119 | もし、コマンドラインから '''何も''' かえって来なければ、 setuptools はインストール '''されています'''。そうでなければ、 Trac を動かす前に setuptools をインストールする必要があります。 |
| 120 | |
| 121 | === Python egg は正しいバージョンですか? === |
| 122 | |
| 123 | Python egg はファイル名の中で Python のバージョンをエンコードします。例えば、 `MyPlugin-1.0-py2.4.egg` は Python 2.4 用の Python egg であり、異なる Python のバージョン (2.3 や 2.5) で動かそうとしても '''動かない''' でしょう。 |
| 124 | |
| 125 | また、ダウンロードした Python egg ファイル が本当に ZIP アーカイブであるかどうかを確認して下さい。もし Trac サイトからダウンロードしたとしたら、 HTML プレビューページを代わりにダウンロードしているかもしれません。 |
| 126 | |
| 127 | === プラグインは有効になっていますか? === |
| 128 | |
| 129 | グローバル領域にプラグインをインストールした場合 (TracEnvironment の `plugin` ディレクトリ内 ''ではなく'') 、 [TracIni trac.ini] に明確に有効にする設定をしなければなりません。以下の事項を確認して下さい: |
| 130 | * `[components]` セクションに必要な行数を追加したか。 |
| 131 | * パッケージ / モジュール名は正しいか |
| 132 | * もし、(クラスに対して) モジュールを参照しているならば、必要に応じて、 ".*" を追加しているかどうか。 |
| 133 | * 正しい値、 "enabled" になっているかどうか。例えば、 "enable" ではなく。 |
| 134 | |
| 135 | === Python egg ファイルのパーミッションのチェック === |
| 136 | |
| 137 | Trac はもちろん Python egg ファイルを読めなければいけません。分かってるよね。;-) |
| 138 | |
| 139 | === ログファイルのチェック === |
| 140 | |
| 141 | Trac で [TracLogging logging] を有効にし、ログレベルを `DEBUG` に設定し、プラグインがロードされるときのログメッセージを見て下さい。 |
75 | 142 | |
76 | 143 | ---- |
77 | | See also: TracGuide, [http://projects.edgewall.com/trac/wiki/PluginList プラグイン一覧], [http://projects.edgewall.com/trac/wiki/TracDev/ComponentArchitecture コンポーネント設計] |
| 144 | See also TracGuide, [http://trac.edgewall.org/wiki/PluginList プラグイン一覧], [http://trac.edgewall.org/wiki/TracDev/ComponentArchitecture コンポーネント設計] |