报错描述
在 Pycharm 环境下,右键运行程序显示 Run ‘Nosetests for XX.py’
,而不是常见的 Run ‘XX.py’
运行后报错 ModuleNotFoundError: No module named 'nose'
解决办法
方法一:重命名测试脚本
如果执行的脚本不是测试脚本,则将 test 字样开头的函数重命名,如 将 test_shape 改为 shape_test
则不会报错
方法二:安装 nose 测试工具
如果要执行的脚本中确实有测试用例(函数),需要调用测试框架进行执行,那么就安装测试工具 nose。
安装方法:在 cmd 中输入 pip install nose
,按下 Enter 键回车即可。
报错解释
Python 中以 test 开头的函数方法名,会被识别为测试用例,触发 Python 测试工具,执行测试。nosetests 和 unittest 都是 Python 的测试工具。
函数 test_shape
被认为是测试用例,调用 nosetests ,而 nosetests 没有安装就会出现报错信息 ModuleNotFoundError: No module named 'nose'
。
一点建议
在机器学习中,一般会涉及到训练和测试模型,因此会有 train 和 test 函数。但是不建议将用于测试模型的函数名写成 test,容易引起 IDE 歧义,调用 python 测试框架。