Python模块导入异常求助:找不到'app'模块问题排查
解决ModuleNotFoundError: 找不到'app'模块的问题
问题根源
你的PYTHONPATH设置为/c/Users/xxxxxxx/Desktop/projects/,但app模块实际位于projects/services/skittles/app/——Python只会在PYTHONPATH指定的目录下直接查找模块,不会递归子目录,所以无法定位到services/skittles/下的app模块。
可行解决方案
方案1:调整PYTHONPATH指向正确的父目录
将PYTHONPATH设置为projects/services/skittles/,让Python能直接找到app模块:
- Linux/macOS终端:
export PYTHONPATH="/c/Users/xxxxxxx/Desktop/projects/services/skittles/:$PYTHONPATH" - Windows命令提示符:
set PYTHONPATH=C:\Users\xxxxxxx\Desktop\projects\services\skittles\;%PYTHONPATH%
方案2:使用相对导入+模块方式运行
修改testresults.py中的导入语句为相对路径:
from ..models.testresult import TestResult, TestRunDetails, Step
然后从projects/services/skittles/目录下,以模块方式运行脚本:
cd /c/Users/xxxxxxx/Desktop/projects/services/skittles/ python -m app.database.testresults
方案3:在脚本中手动添加根路径
在testresults.py开头添加代码,自动将projects/services/skittles/加入Python路径:
import sys from pathlib import Path # 获取当前脚本所在目录的上级上级目录(即skittles目录) root_path = Path(__file__).parent.parent.parent sys.path.append(str(root_path)) # 之后正常导入 from app.models.testresult import TestResult, TestRunDetails, Step
内容的提问来源于stack exchange,提问作者Trance2000
相关产品推荐
相关产品推荐

