You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Heroku部署Django应用遇应用错误:allauth模块缺失的解决方法

Heroku部署Django应用崩溃的排查与修复

嘿,从你贴的日志里一眼就能揪出问题根源啦——ModuleNotFoundError: No module named 'allauth'!这说明你的Heroku服务器上没安装django-allauth这个依赖包,但你的代码里明确用到了它,导致worker启动失败,最终应用崩溃显示错误页面。

下面是具体的修复步骤:

1. 本地补全依赖并更新配置文件

你的项目同时有Pipfile/Pipfile.lock和requirements.txt,Heroku会优先使用Pipenv的配置,所以分两种情况处理:

  • 如果用Pipenv管理依赖:
    在本地项目目录里运行命令,安装django-allauth并自动更新依赖文件:
    pipenv install django-allauth
    
  • 如果用传统的requirements.txt:
    先安装依赖,再更新requirements文件:
    pip install django-allauth
    pip freeze > requirements.txt
    

2. 重新提交代码到Heroku

把更新后的依赖文件提交到Git仓库,再推送到Heroku:

# 如果你用Pipenv,添加这两个文件
git add Pipfile Pipfile.lock
# 如果你用requirements.txt,添加这个文件
# git add requirements.txt

git commit -m "添加django-allauth依赖包"
git push heroku main

3. 验证部署结果

部署完成后,用命令实时查看日志,确认问题解决:

heroku logs --tail

如果看到worker成功启动,没有ModuleNotFoundError的报错,就可以正常访问你的网站啦!

额外注意点

  • 确保你的Procfile路径web: gunicorn website.wsgi是正确的——从日志来看,gunicorn已经能找到website模块,只是加载内部依赖时出错,所以这个路径没问题。
  • 后续添加新依赖时,记得同步更新对应的依赖文件(Pipfile或requirements.txt),再提交到Heroku,避免再次出现类似问题。

内容的提问来源于stack exchange,提问作者Abdelhamed Abdin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 19:02:58