【发布时间】:2021-11-08 12:50:21
【问题描述】:
我的文件结构如下:
C:.
├───jobs_struct
│ │
│ └───app
│ └───job_struct
│ │ delta.py
│
└───test
├───integration
└───unitaire
│ test_delta.py
test_delta.py是一个pytest文件,导入delta.py来测试其功能。
在test_delta.py,我不明白我应该如何导入delta.py。我尝试了以下方法:
尝试 1
sys.path.append("../../")
from jobs_struct.app.job_struct.delta import ApplyDelta
投掷:
E ModuleNotFoundError: 没有名为“jobs_struct”的模块
尝试 2
from jobs_struct.app.job_struct.delta import ApplyDelta
E ModuleNotFoundError: 没有名为“jobs_struct”的模块
尝试 3
sys.path.append("/jobs_struct/app/job_struct")
from delta import ApplyDelta
从增量导入 ApplyDelta
E ModuleNotFoundError: 没有名为“delta”的模块
其他细节
一些answers 建议在特定位置(或任何地方)包含 init.py 文件。我想避免更改/向应用程序本身添加任何内容。
此外,pytest 命令是从项目的根目录运行的(如果有影响的话)。
问题
如何正确导入我的模块,知道使用绝对路径不是选项,以便能够运行我的测试文件。
【问题讨论】:
标签: python python-3.x pytest