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

时间:2011-03-22 02:51:32

标签: python testing module import dependencies

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

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

2 个答案:

答案 0 :(得分:6)

import sys
sys.modules['numpy']=None

设置sys.modules['numpy']=None会让Python认为它已经尝试过并导致numpy失败。导入numpy的后续尝试现在提升ImportError

try:
    import numpy
except ImportError as err:
    print(err)
    # No module named numpy

删除sys.modules['numpy']可以正常导入numpy

del sys.modules['numpy']
import numpy

答案 1 :(得分:3)

更改您的Python路径。

sys.path中目录的顺序显示了搜索的顺序。

您可以在测试中更改sys.path以更改搜索顺序。