Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从命令行获取运行测试与运行程序的不同ModuleNotFound错误_Python_Import_Main_Nose - Fatal编程技术网

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