is_module_invalid
函数私有源码
flag: bool = is_module_invalid(module: ModuleType)
检查某个延迟加载模块是否无效。
该函数是为了一个特定的目的设计的。由于延迟加载模块意味着模块不会马上加载,这就有可能导致某个延迟加载的模块实际并未安装。该函数主要 用来验证这一情况。
参数
输入
参数 | 类型 | 必选 | |
---|---|---|---|
module | ModuleType | 可以是一个延迟加载模块、一个普通模块、或一个模块占位符。 |
输出
参数 | 类型 | |
---|---|---|
flag | bool | 当且仅当给定模块为一个模块占位符时,返回True 。 |
范例
加载某个可选模块、并验证其并未加载
- 代码
- 结果
假设未安装numpy
。
verify_a_module_placeholder.py
from typing import TYPE_CHECKING
from syncstream import utils
if TYPE_CHECKING:
import curses
else:
curses = utils.lazy_import(
"curses", package=None, dependencies=("numpy",), required=False
)
print(curses)
print(utils.is_module_invalid(curses))
print(curses)
<ModulePlaceholder curses>
True
<ModulePlaceholder curses>