已存在模块仍报ModuleNotFoundError的Django问题求助
解决Django中ModuleNotFoundError问题
针对你遇到的在calc.py中导入folder2.test模块失败的问题,提供以下几种可行方案:
方案1:使用相对导入
由于calc.py所在的folder1和folder2同属于my_app目录下,可直接用相对导入语法:
from ..folder2.test import func1, func2
注意:不要直接单独运行calc.py脚本(相对导入在脚本直接运行时会报错),在Django项目中通过框架调用该模块即可正常工作。
方案2:手动添加路径到Python搜索路径
在calc.py开头添加代码,将my_app目录加入Python的系统搜索路径:
import sys import os # 获取当前文件的父目录的父目录(即my_app目录) app_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) if app_dir not in sys.path: sys.path.append(app_dir) from folder2.test import func1, func2
方案3:确保my_app已注册到Django项目
检查项目根目录下的settings.py文件,确认INSTALLED_APPS列表中包含my_app:
INSTALLED_APPS = [ # 其他已注册的APP 'my_app', ]
Django会自动将已注册APP的目录加入Python搜索路径,这样就能直接识别到folder2模块。
内容的提问来源于stack exchange,提问作者nb_nb_nb
相关产品推荐
相关产品推荐

