在测试python脚本时模拟缺少依赖项

Aco*_*orn 4 python testing import dependencies module

从python脚本暂时隐藏已安装模块以测试它如何处理没有安装模块的环境的最佳方法是什么?

我想避免为了测试而卸载模块.

unu*_*tbu 6

import sys
sys.modules['numpy']=None
Run Code Online (Sandbox Code Playgroud)

设置sys.modules['numpy']=None使Python认为它已经尝试并且无法导入numpy.随后的导入尝试numpy现在提高ImportError:

try:
    import numpy
except ImportError as err:
    print(err)
    # No module named numpy
Run Code Online (Sandbox Code Playgroud)

删除sys.modules['numpy']允许numpy正常导入:

del sys.modules['numpy']
import numpy
Run Code Online (Sandbox Code Playgroud)