0

foo.pyモジュールがありbar.py、両方ともimport bazコードにステートメントがあるとしましょう。

が からインポートされているか、 からインポートされsys.meta_pathているかを認識できる挿入可能なインポート フックを作成したいと考えています。bazfoobar

ClassLoaderこれを行う理由は、Java で個別のインスタンスを使用することでできるように、アプリでプラグインを読み込んで依存関係を分離できるようにしたいからです。そうすれば、プラグインfooとプラグインは異なるバージョンのライブラリを競合することなくbarバンドルできます。bazこれを達成する方法は、インポート メカニズムを変更してimport baz、そのステートメントがどこから来たかに応じてステートメント用の個別のモジュールを生成することです。

誰かがこれを行うためのより良い方法を持っている場合は、回答でそれを提案してください。

4

0 に答える 0