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

Celery + Django报错ModuleNotFoundError: No module named 'celery.backends.amqp'求解决

可能的问题原因分析
  • 依赖版本兼容性冲突:Celery 5.2.7 与 amqp 5.1.1 存在版本适配问题。Celery 5.2.x 系列官方推荐的 amqp 版本上限为 5.1.0,更高版本的 amqp 可能引入了 Celery 未兼容的API变更,导致初始化或运行时抛出错误。建议修改 requirements.txt,将 amqp 锁定为 amqp==5.0.9,重新执行 pip install -r requirements.txt 后测试。

  • Django 版本不匹配:Celery 5.2.7 对 Django 的兼容范围为 2.2 ~ 4.0 版本。如果你的 Django 版本不在这个区间,无论是过高还是过低,都可能和 Celery 的配置逻辑、内部调用产生冲突。

  • 配置细节遗漏:

    • 检查项目根目录的 celery.py,是否正确设置环境变量 os.environ.setdefault('DJANGO_SETTINGS_MODULE', '你的项目名.settings'),且调用了 django.setup() 方法。
    • 确认 settings.py 中的 CELERY_BROKER_URL 配置正确,比如 RabbitMQ 连接格式应为 amqp://用户名:密码@主机地址:端口//,缺失认证信息或地址错误会直接导致连接失败。
    • 检查项目根目录的 __init__.py,是否导入了 Celery 实例(from .celery import app as celery_app),确保 Django 启动时能加载 Celery 配置。
  • 运行环境或命令错误:

    • 运行 Celery 命令时,需确保处于项目对应的虚拟环境中,避免全局环境和虚拟环境的依赖版本混淆。
    • 确认启动 worker 的命令格式正确:celery -A 你的项目名 worker --loglevel=info,替换其中的「你的项目名」为实际项目名称。

内容的提问来源于stack exchange,提问作者Alejandro Veintimilla

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:40:11