5.5. Anaconda アドオンの構造
Anaconda アドオンは Python パッケージで、これには
__init__.py
と他のソースディレクトリー (サブパッケージ) を格納しているディレクトリーが含まれています。Python は各パッケージ名のインポートを 1 回しか許可しないので、パッケージのトップレベルのディレクトリー名は一意のものである必要があります。同時に、アドオンは名前に関係なく読み込まれるため、任意の名前を指定できます。必須要件は、特定のディレクトリーに配置する必要があることです。
このため、アドオンで推奨される命名規則は、Java パッケージや D-Bus サービス名と同様のものになります。ドットの代わりにアンダースコア (
_
) で組織に予約されているドメイン名を持つアドオン名に接頭辞を付けます。これにより、ディレクトリー名が Python パッケージの有効な識別子となります。つまり、アドオン名の前に自分の組織のリバースドメイン名を追加します (com_example_hello_world
)。この規則は、Python パッケージおよびモジュール名の recommended naming scheme (推奨命名スキーム) に準拠しています。
重要
各ディレクトリー内に
__init__.py
ファイルを作成することを忘れないでください。このファイルがないディレクトリーは、有効な Python パッケージとはみなされません。
アドオンの作成時には、インストーラーでサポートされる機能は Kickstart でもサポートされる必要があることに注意してください。各インターフェイス (Kickstart、グラフィカルインターフェイス、グラフィカルインターフェイス、テキストインターフェイス) のサポートは個別のサブパッケージで指定する必要があります。このサブパッケージには、キックスタートの場合は
ks
、グラフィカルインターフェイスには gui
、テキストベースのインターフェイスには tui
という名前を指定する必要があります。gui
と tui
パッケージには、spokes
サブパッケージが含まれる必要があります。[3]
これらのパッケージ内のモジュール名は任意のものにすることができます。
ks/
、gui/
および tui/
のディレクトリー内の Python モジュール名はどんなものでも構いません。
すべてのインターフェイス (Kickstart、GUI および TUI) をサポートするアドオンのディレクトリー構造のサンプルは以下のようになります。
例2 アドオン構造の例
com_example_hello_world ├─ ks │ └─ __init__.py ├─ gui │ ├─ __init__.py │ └─ spokes │ └─ __init__.py └─ tui ├─ __init__.py └─ spokes └─ __init__.py
各パッケージには、API で定義される 1 つ以上のクラスから継承されるクラスを定義する任意の名前を持つモジュールが少なくとも 1 つ含まれる必要があります。これについては、「Anaconda アドオンの作成」 .