gpt4 book ai didi

python - 组织大量的 python 导入

转载 作者:行者123 更新时间:2023-11-28 21:29:45 25 4
gpt4 key购买 nike

我的代码大约 25% 依赖于模块:Traits、tvtk...这些模块导入起来相当繁重。在我的机器上通常需要 2 秒的时间(在其他机器上则需要更多时间)。

我的模块组织如下

mainmodule
|--submodule1
|--submodule2
|--subsubmodule1
|--subsubmodule2
|--submodule3
|--submodule4
|--subsubmodule1
|--subsubmodule2

其中,子模块 1 和子模块 2 使用 Traits。这意味着 75% 的情况下,如果我调用 import mainmodule,我将不得不等待重型模块被导入,但随后它们将不会被使用。

如何组织导入以缩短导入时间?

也许有一种方法可以做类似的事情:

import mainmodule

并且有

mainmodule
|--submodule3
|--submodule4
|--subsubmodule1
|--subsubmodule2

并且仅调用:

import mainmodule.heavy

拥有一切

最佳答案

听起来您想要的是一种方法,以便导入 mainmodule 不会自动导入 submodule1submodule2,这需要很长时间加载时间。

实际上,这很简单。您只能在需要它们的函数中导入 submodule1submodule2。或者将这些函数移至名为 mainmodule_heavy.py 的单独模块中。

(或者你可以 hack the Python module system to load modules lazily 。但是这种黑客行为往往会导致问题,而且对于你的情况来说这听起来没有必要。)

关于python - 组织大量的 python 导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4631205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com