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

Django+Celery+Redis环境启动Celery Worker时出现AttributeError错误求助

Django+Celery+Redis环境启动Celery Worker时出现AttributeError错误求助

看起来你遇到的这个AttributeError: 'NoneType' object has no attribute 'Redis'错误,本质是Celery依赖的Kombu库无法正常导入Redis Python客户端导致的,大概率是版本兼容问题或者依赖缺失,我来给你几个可行的解决办法:

1. 确认Redis Python客户端已正确安装

首先检查你的项目虚拟环境里是否安装了redis库(Celery连接Redis必须依赖它),如果没装,执行以下命令安装:

pip install redis

2. 调整Redis客户端与Celery的版本兼容性

如果已经安装了redis库但还是报错,很大概率是版本不兼容:

  • 如果你用的是Celery 5.x及以下版本,建议降级redis-py到4.x系列(5.x版本的redis-py做了API改动,旧版Celery/Kombu无法适配),执行:
    pip install redis==4.6.0
    
  • 如果你想保持最新的redis-py,那可以尝试升级Celery到最新稳定版,确保两者兼容:
    pip install --upgrade celery
    

3. 验证虚拟环境是否正确激活

有时候容易忽略的点:确保你运行Celery命令时,已经激活了项目对应的虚拟环境,不然Celery会使用全局Python环境的依赖,可能找不到正确的redis库。

4. 确认Redis容器正常运行

最后再检查你的Redis容器是否在正常工作:

  • 执行docker ps查看容器状态,确认Redis容器处于运行状态
  • 可以尝试用redis-cli连接测试:redis-cli -h 0.0.0.0 -p 6379,如果能正常连接,说明Redis服务本身没问题

按照上面的步骤操作后,再重新运行Celery Worker命令:

celery -A social_media worker -l info

应该就能解决这个错误了。

备注:内容来源于stack exchange,提问作者Smile1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 13:53:16