当许多.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 导入一个已经导入的模块,它只会访问最初导入时缓存的模块。最好的做法是只在需要的地方导入模块,而不用担心在多个文件中导入同一个模块。
我写了一些实用程序/工具 .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 导入一个已经导入的模块,它只会访问最初导入时缓存的模块。最好的做法是只在需要的地方导入模块,而不用担心在多个文件中导入同一个模块。