![](/img/trans.png)
[英]Getting TypeError(): test_if_module_exists() when running nosetests
[英]Getting ImportError when running nosetests
my_project
-my_project
- __init__.py
- main.py
- constants.py
-test
- __init__.py
- test_main.py
from my_project import main
test_main.py
main.py import constants
当我在my_project中运行nosetests时,我最终得到了ImportError: No module named 'constants'
两个__init__.py
文件都是空白的。
如果我将import constants
更改为main.py
from my_project import constants
,则nosetests可以正常工作。 但是,现在如果我只运行python main.py
我会得到ImportError: No module named 'my_project'
。
有人能帮助我指出我做错了什么吗? 我搜索过很多帖子,但我自己无法解决这个问题。 谢谢。
在main.py中 - > import constants
是一个隐式的相对导入(坏)。 它应该from my_project import constants
更改为更常见的。
你提到这使得nosetests工作。 注意:在test子目录中不需要__init__.py
,实际上通常不鼓励这样做。
现在用python main.py
修复你的错误导致导入错误,如果你没有将它包含在你的sys.path
那么这是正常的。 有各种各样的方法 -
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.