使用pytest时无法导入子模块

时间:2018-09-03 23:54:24

标签: python import module package pytest

我有一个具有以下布局的项目:

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

我试图用谷歌搜索我的问题,但是没有找到类似的东西,其中子模块无法从测试文件中加载。知道为什么这种行为以及如何解决?

0 个答案:

没有答案