我的代码中大约 25% 依赖于模块:Traits、tvtk 等,这些模块导入起来非常繁重。在我的机器上通常需要 2 秒钟(在其他机器上需要更多时间)。
我的模块组织如下
mainmodule
|--submodule1
|--submodule2
|--subsubmodule1
|--subsubmodule2
|--submodule3
|--submodule4
|--subsubmodule1
|--subsubmodule2
其中,submodule1 和 submodule2 使用 Traits。这意味着 75% 的情况下,如果我调用import mainmodule,我将不得不等待重模块被导入,但随后它们将不会被使用。
如何组织导入以缩短导入时间?
也许有一种方法可以做类似的事情:
import mainmodule
并且有
mainmodule
|--submodule3
|--submodule4
|--subsubmodule1
|--subsubmodule2
并且只调用:
import mainmodule.heavy
拥有一切