次のような構造の Python モジュールがあります。
demo/
├── __init__.py
├── app.py
├── models.py
├── modules.py
次に、このモジュールを圧縮してデータベースに保存します。
このような構造化パッケージをロードするにはどうすればよいですか? 単一の.py
ファイルを読み込んでその機能を使用することに問題はありませんが、パッケージの処理方法がわかりません。この場合、とapp.py
からインポートします。models.py
modules.py
このアプローチを使用するapp.py
と、最初にロードされ、他の 2 つのファイルがロードされていないため例外がスローされます。
import new
code = <the code from the db>
mod = new.module('foo')
exec code in mod.__dict__
sys.modules['foo'] = mod
これはどのように正しく行われますか?