我有一个项目的布局如下:
/src
/mypckg
__init__.py
calibration.py
_const.py
/tests
test_calibration.py
conftest.py
在我的测试文件im正在导入我的calibration
模块:
同时,mycalibration
模块导入我的_const
模块,其中包含my的所有常量:
import _const
我的__init__.py
文件包含以下导入:
## __init__ file
from . import calibration
from . import _const
现在,当我从test文件夹运行pytest
时,它会找到我的calibration
模块,但是它给出了这个错误
...\mypckg\calibration.py:7: in <module>
import _const
E ModuleNotFoundError: No module named '_const'
我的calibration
模块显然找不到_const
模块,但是如果我从包目录中运行python calibration.py
,它运行得非常好。问题是当我试图从测试文件中的calibration
模块运行函数时。在
如果我按照以下方式将_const
模块导入到我的calibration
模块中,那么我的测试可以完美地工作:
from mypckg import _const
# or from . import _const
但是,如果我以这种方式导入它,当我运行python calibration.py
时,会出现以下错误:
Traceback (most recent call last):
File "calibration.py", line 8, in <module>
from . import _const
ImportError: cannot import name '_const'
我试着用谷歌搜索我的问题,但是没有找到类似的东西,子模块不能从测试文件中加载。你知道为什么会有这种行为吗?怎么解决?在
目前没有回答
相关问题 更多 >
编程相关推荐