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>