この質問は、Pythonで名前空間パッケージを作成する方法とPythonで名前空間パッケージを作成するにはどうすればよいですか?。
名前空間パッケージのに他のコードやデータを含めないでください
__init__.py
。開発中、またはプロジェクトが.egg
ファイルとしてインストールされている場合は機能しているように見えますが、プロジェクトが「システム」パッケージツールを使用してインストールされている場合は機能しません。このような場合、__init__.py
ファイルはインストールされず、実行されることもありません。
これはすべて、独立して分散された拡張サブパッケージを持つ「メインライブラリ」パッケージを持つことを不可能にしているようです。私が欲しいのは、次のことができるようにすることです。
次のように使用するコアライブラリパッケージを定義します。
import mylibrary mylibrary.some_function()
個別にパッケージ化および配布されたライブラリ拡張機能を次のように使用できるようにします。
import mylibrary.myextension mylibrary.myextension.some_other_function()
名前空間パッケージでこれを実行できると期待していましたが、上記の質問とリンクに基づくと、そうではないようです。これはまったくできますか?