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