使用Pytest时找不到导入模块中导入的模块

时间:2017-10-17 01:05:38

标签: python python-3.x pytest

我的项目结构如下:

proj/
    src/
        __init__.py
        etc/
            __init__.py
            visitor.py
        obj/
            __init__.py
            node.py
    tests/
        __init__.py
        visitor_tests.py

我在visitor.py课程中导入visitor_tests.py时遇到问题,因为其中有node.py的导入无法找到。

visitor_tests.py我使用以下方式导入访问者本身:

from src.etc.visitor import Visitor

但是我收到以下错误:

ModuleNotFoundError: No module named 'obj.node'; 'obj' is not a package.

visitor.py中,我对节点进行了以下导入:

from obj.node import Node

我使用pytest tests/visitor_tests.py根目录中的proj/运行测试。

1 个答案:

答案 0 :(得分:0)

而不是在visitor_tests.py&中使用src.etc.visitor,obj.node用户sys.path.append。 visitor.py

import sys
sys.path.append("/path/to/obj")
sys.path.append("/path/to/etc")