kor*_*bay 5 python nose nosetests python-3.x
my_project
-my_project
- __init__.py
- main.py
- constants.py
-test
- __init__.py
- test_main.py
Run Code Online (Sandbox Code Playgroud)
test_main.py from my_project import main
主文件 import constants
当我在 my_project 中运行鼻子测试时,我最终得到 ImportError: No module named 'constants'
这两个__init__.py文件都是空白的。
如果我更改import constants为from my_project import constantsin main.py,那么鼻子测试会起作用。但是,现在如果我只是运行,python main.py我会得到ImportError: No module named 'my_project'.
有人可以帮我指出我做错了什么吗?我已经搜索了很多帖子,但我无法自己修复它。谢谢。
在 main.py -> 中import constants是隐式相对导入(不好)。应该改成更常用的from my_project import constants。
你提到这使得鼻子测试起作用。注意:您不需要__init__.py在测试子目录中,事实上,通常不鼓励这样做。
现在要修复python main.py导入错误,如果您没有将其包含在sys.path. 有多种方法可以解决这个问题 -
| 归档时间: |
|
| 查看次数: |
823 次 |
| 最近记录: |