我有一个具有以下布局的项目:
price
在我的测试文件中,导入我的availability
模块:
/src
/mypckg
__init__.py
calibration.py
_const.py
/tests
test_calibration.py
conftest.py
同时,我的calibration
模块导入了我的from mypkg import calibration
模块,其中包含我的所有常量:
calibration
我的_const
文件包含以下导入:
import _const
现在,当我从测试文件夹运行__init__.py
时,它会找到我的## __init__ file
from . import calibration
from . import _const
模块,但它给了我这个错误
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
我试图用谷歌搜索我的问题,但是没有找到类似的东西,其中子模块无法从测试文件中加载。知道为什么这种行为以及如何解决?