【发布时间】:2018-02-03 20:53:59
【问题描述】:
我创建了一个我开发的函数的 python 模块。在这个模块中有几个导入,其中一些不是 python 原生的,需要安装。
我有一个实例,我需要一个 python 脚本来访问这个模块中的一个函数,但我不希望它尝试使用模块中已经存在的所有其他导入。我创建了一个非常基本的示例,说明此设置如下所示。
例如:
#this is the module, named MOD.py
import win32con
def func1():
data = win32con.function()
return data
def func2():
return do_action()
#this is the exterior script
from MOD import func2
data = func2()
为什么即使 func2 不使用它,它仍然会尝试在 MOD.py 中导入 win32con 模块?自然,如果未安装该模块,我将在 win32con 行上收到 ImportError。我不想每次我想运行甚至不使用它的代码时都必须在机器上安装这些模块。
【问题讨论】:
-
您似乎已将不相关的功能组合到一个模块中,您可能希望重新考虑这一点。换句话说,使用多个模块而不是一个。
-
你为什么不重构,让不需要它的模块也不要导入它?