私が達成したいことは次のとおりです。
私は python パッケージを持っています。それを と呼びましょう。通常の使用では、最上位の名前空間にインポートされるコンパイル済み拡張ライブラリ (またはファイル)を含むfoo
ディレクトリで構成されます。foo
__init__.py
.so
.pyd
__init__.py
setup.py
さて、問題は、拡張ライブラリが必ずしも利用可能ではない (まだ構築されていない) 場合に、構築およびパッケージ化中に利用可能なバージョン文字列を最上位の名前空間に含めたいImportError
ことfoo.version
です。
さて、明らかに、__init__.py
何かをインポートする際の失敗を無視する例外ハンドラーを使用できますが、パッケージをインポートできない理由をユーザーが気にする本当の理由がある可能性があるため、これは理想的ではありません。
バージョン文字列をパッケージ内の 1 つの場所に配置し、インポート可能にする方法はありますか?