当许多.py 文件导入重复的包时,如何保持规范的软件工程?

How to keep a normative Software Engineering when many .py files import duplicated packages?

我写了一些实用程序/工具 .py 文件,但它导入了许多重复的包。我将在其余 .py 个文件中导入这些 .py 个文件。

例如:

# tool_a.py
import a
from b import b_1
import c
from e import e_1
# some implementations in a.py.
... ...
... ...

# tool_b.py
import b
import c
from d import d_1
# some implementations in b.py
... ...
... ...

# tool_c.py
import c
import d
import e
# some implementations c.py
... ...
... ...

# And there are so many tools files like this
... ...
... ...
# Class A
import tool_a
import tool_b
# some implementations in Class A
... ...
... ...


# Class B
import tool_a
import tool_c
# some implementations in Class B
... ...
... ...

# And there are so many Class implementation files will include these tool files just like here
... ...
... ...

所以如果我只是在每个 class 文件中一个一个地导入这些工具文件,它将导入这么多重复的包并导致依赖性问题

当然这是一个糟糕的方法,但我不知道如何解决可怕的包依赖问题。

谁能帮帮我?

我认为您不必担心多次导入。如果您告诉 python 导入一个已经导入的模块,它只会访问最初导入时缓存的模块。最好的做法是只在需要的地方导入模块,而不用担心在多个文件中导入同一个模块。