【发布时间】:2011-01-07 23:25:46
【问题描述】:
我的代码中大约 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
拥有一切
【问题讨论】:
-
什么?非常不清楚你在问什么。
-
回答一个不同的问题:您可以尝试将特征等放在一个 zip 文件中,然后将该 zip 文件放在 PYTHONPATH 上。这可能会减少整体导入时间,因为文件访问次数要少得多。
-
@Falmarri:我更新了问题,希望意图更清楚; @Andrew Dalke:我怎么知道哪个文件是 Traits 的一部分?
标签: python import project-organization