Python 从命令行获取运行测试与运行程序的不同ModuleNotFound错误
我已经做了一个项目,下面就是这棵树Python 从命令行获取运行测试与运行程序的不同ModuleNotFound错误,python,import,main,nose,Python,Import,Main,Nose,我已经做了一个项目,下面就是这棵树 / project / logic - app.py - utils.py - exceptions.py / tests - tests.py - README - requirements.txt 该代码将从命令行运行app.py包含主逻辑 在app.py中,我导入了如下UTIL: 来自utils导入验证参数 因此,当我运行python app.py时,一切都按预期运行 但是当我运行nose
/ project
/ logic
- app.py
- utils.py
- exceptions.py
/ tests
- tests.py
- README
- requirements.txt
该代码将从命令行运行app.py
包含主逻辑
在app.py
中,我导入了如下UTIL:
来自utils导入验证参数
因此,当我运行python app.py
时,一切都按预期运行
但是当我运行nosetests
时,它立即失败,原因是app.py
中导入了utils
:
File ".../project/app.py", line 4, in <module>
ModuleNotFoundError: No module named 'utils'
我尝试过在
/project
、/logic
和/tests
目录中添加\uuuu init\uuuuuuuuuuupy
文件,但实际上我只是在猜测。关于导入逻辑,我缺少什么?我通过使用-m标志运行程序修复了这个问题。。。哦 在测试文件中,在导入逻辑文件之前添加一行,导入路径sys.append.path(path)。要从cmd运行测试,请将目录更改为testsThank you@DharmveerSingh,不幸的是,这两种方法对我都不起作用-我遇到了相同的错误。要从cmdI运行哪个文件,请使用-m
标志运行程序来修复此问题。。。哦!
ModuleNotFoundError: No module named '__main__.utils'; '__main__' is not a package