ModuleNotFoundError: No module named 'app1' Django报错求助
Django运行提示
ModuleNotFoundError: No module named 'app1'排查方案 常见成因与对应解决方法
- 应用创建路径错误
执行python manage.py startapp app1命令时,终端当前工作目录不是manage.py所在的项目根目录,导致app1文件夹被生成到其他路径下,Python的模块搜索路径无法定位到该应用。
解决方法:将整个app1文件夹移动到与manage.py同级的根目录下;如果要统一把应用放在apps这类子目录下,INSTALLED_APPS中需要填写完整导入路径,例如apps.app1,不能直接写app1。 - 名称拼写/大小写不匹配
实际创建的应用文件夹名和INSTALLED_APPS中填写的名称不一致,比如误建为appl(末尾是小写L)、app01、App1,Python模块导入大小写敏感,名称不一致就会触发找不到模块的报错。
解决方法:核对应用文件夹的实际名称,保证和INSTALLED_APPS中填写的字符串完全一致。 - 运行环境/工作目录错误
执行项目运行命令时,终端没有切换到manage.py所在目录,或者没有激活项目对应的虚拟环境,导致Python模块搜索路径没有覆盖app1所在的位置,甚至当前环境根本没有创建过app1应用。
解决方法:启动项目前先将终端工作目录切换到manage.py同级路径,确认激活的Python环境是创建项目、创建app时使用的对应环境,不要混用全局Python环境和项目虚拟环境。 - 应用文件结构不完整
创建app时操作失误,只手动新建了名为app1的空文件夹,没有执行startapp命令生成Django应用必需的__init__.py、apps.py等核心文件,这个文件夹不属于合法的Python包,无法被识别导入。
解决方法:删除残缺的app1文件夹,在manage.py同级目录下重新执行python manage.py startapp app1,等所有应用文件生成完整后,再将app1添加到INSTALLED_APPS配置项中。
验证方法
配置调整完成后,可以先在项目根目录执行python manage.py shell进入Django交互环境,输入import app1执行,如果没有抛出导入错误,就说明模块路径识别正常,后续启动服务不会再触发该报错。
内容的提问来源于stack exchange,提问作者Meera K
相关产品推荐
相关产品推荐

