启动Django项目服务器报ModuleNotFoundError: No module named 'django_heroku'但未使用Heroku
问题原因
- 项目配置文件中存在未清理的
django_heroku引用:绝大多数情况是settings.py里残留了之前测试部署、参考示例代码时添加的django_heroku调用逻辑,你自己没有注意到。 - 依赖文件存在冗余声明:
requirements.txt等依赖配置文件里有django_heroku的安装声明,但是服务器部署时没有同步安装该包。 - 第三方依赖隐式调用(极低概率):你引入的其他第三方包内部依赖了
django_heroku但没有主动声明。
解决方法
方案1:彻底移除无用的Heroku相关配置(推荐)
- 全局搜索项目根目录下所有文件中的
django_heroku关键词,重点排查settings.py,找到类似如下代码:
import django_heroku django_heroku.settings(locals())
直接删除或者注释这两行代码即可。
2. 检查requirements.txt、pyproject.toml、Pipfile等依赖声明文件,删除其中和django_heroku相关的条目,避免后续部署出现冗余依赖。
方案2:临时规避报错
如果暂时找不到引用位置,需要快速测试服务启动,可以先在服务器环境安装该包:
pip install django-heroku
该方案仅适合临时调试使用,长期运行建议优先选择方案1清理冗余配置。
内容的提问来源于stack exchange,提问作者PixelCosmic
相关产品推荐
相关产品推荐

