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

启动Django服务器报错:ImportError: cannot import name get_failed_queue

解决ImportError: cannot import name get_failed_queue的问题

你的问题核心是版本兼容性冲突:你当前使用的rq 1.0已经移除了get_failed_queue这个函数,但django-rq-dashboard 0.3.0是一个较旧的版本,它依然依赖这个被废弃的API,所以启动Django时触发了导入错误。

下面给你两种可行的解决方案:

方案1:降级RQ到兼容版本(推荐新手)

这是最省心的解决方式,直接把RQ降级到django-rq-dashboard 0.3.0支持的版本(比如RQ 0.13.x系列)。在你的虚拟环境中执行以下命令:

pip install rq==0.13.1

执行完成后重新启动Django服务器,这个导入错误应该就能消失了。

另外补充个小提醒:你用的是Python 2.7,但django-rq 2.0其实是面向Python 3.6+开发的,后续可能还会出现其他兼容性问题。如果你的项目必须保留Python 2.7,建议同时把django-rq也降级到1.x版本(比如django-rq==1.3.1),这样和RQ 0.13.x的匹配度会更高。

方案2:修改django-rq-dashboard的代码(适合有一定代码基础的用户)

如果你不想降级RQ,可以手动修改第三方库的代码来适配新的RQ API:

  1. 找到django_rq_dashboard的视图文件,路径是:/home/m0nte-cr1st0/.virtualenvs/finbee/local/lib/python2.7/site-packages/django_rq_dashboard/views.py
  2. 把顶部的导入语句:
    from rq import Queue, Worker, get_failed_queue, push_connection
    
    替换成:
    from rq import Queue, Worker, push_connection
    from rq.queues import FailedQueue
    
  3. 找到代码中所有调用get_failed_queue()的地方,替换为FailedQueue()(如果需要指定连接,加上connection=connection参数即可)。

不过这种方法的缺点是:后续更新django-rq-dashboard时,你的修改会被覆盖,需要重新调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:17:41