相互に依存するいくつかの python モジュール (パッケージに編成) があります。例えば
- モジュール1
- Module2: Module1 をインポートします
- モジュール3
- Module4: Module3、Module 2、Module 1 をインポートします。
アプリケーションを開発するための関連するインターフェイスが Module4 にあり、 cython を使用してModule4.soを生成したいとします。素朴な方法で進めると、拡張 Module4.so を取得できます。これをインポートできますが、拡張は Module1、Module2、Module3 の Python ソース コードに依存しています。
Module1、Module2、Module3 もコンパイルされて Module4 にリンクされるようにコンパイルする方法はありますか? すべてを手動で行うことは避けたいと思います。たとえば、最初に Module1.so をコンパイルし、次に Module2 のインポート宣言を変更して、Module1.py ではなく Module1.so をインポートし、次に Module2 を Module2.so にコンパイルします。