我收到一个奇怪的模块未找到错误,我似乎无法理解为什么会发生这种情况。
我的目录结构为:
项目/服务/九柱游戏/应用程序/
database/
--__init__.py
--testresults.py
models/
--__init__.py
--testresult.py
results.py 导入:
从 app.models.testresult 导入 TestResult、TestRunDetails、Step
app.models.testresult 是一个包含 pydantic 模型的文件
当我尝试直接运行 testresults.py 时:
python 测试结果.py
我得到:
ModuleNotFoundError:没有名为“app”的模块
我跑了:
导入操作系统 尝试: user_paths = os.environ['PYTHONPATH'].split(os.pathsep) 除了关键错误: 用户路径 = []
并打印 user_paths 输出:
[':/c/Users/xxxxxxx/Desktop/projects/']
请帮助我了解发生了什么。 PYTHONPATH 不正确吗?在我看来,它正在查看项目目录,但它也应该指向各个文件夹吗?
要解决此问题,您可以修改 results.py 中的导入语句以指定相对导入路径。由于 results.py 位于数据库文件夹中,并且您尝试从 app.models.testresult 导入,因此可以使用相对导入,如下所示:
from ..models.testresult import TestResult, TestRunDetails, Step