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

在测试python脚本时模拟缺少依赖关系,python,testing,module,import,dependencies,Python,Testing,Module,Import,Dependencies,对python脚本临时隐藏已安装的模块以测试它如何处理未安装模块的环境的最佳方法是什么 我不想为了测试而卸载模块。更改Python路径 sys.path中目录的顺序显示了搜索的顺序 您可以在测试中更改sys.path,以更改搜索顺序 import sys sys.modules['numpy']=None 设置sys.modules['numpy']=None会让Python认为它已经尝试导入numpy,但失败了。随后尝试导入numpy时,现在会引发ImportError: try:

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


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

更改Python路径

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

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

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

@迈克尔:你是说不要进口?我想我可以这样做,那不会是测试我的条件导入,这不是什么大不了的事。只是确保以后把它放回去@Winston Ewert:“后记?”单元测试有“设置”和“拆卸”来改变环境,这就是你所说的吗?