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

Django_redis无法导入six引发InvalidCacheBackendError缓存后端错误

解决Django-Redis导入six失败导致的缓存后端错误

你遇到的这个InvalidCacheBackendError本质是因为django-redis 4.10.0试图从*django.utils*导入six模块,但你的Django版本(结合Python 3.6来看,大概率是Django 3.x及以上)已经不再内置six——这个库原本是用来做Python 2/3兼容的,在Python 3普及后,Django就移除了内置的six,最终导致缓存后端初始化失败。

下面是具体的解决步骤:

  • 第一步:快速修复——安装独立的six库
    直接通过pip安装全局的six,让django-redis可以从系统环境中找到它:

    pip install six
    

    安装完成后重启Django服务,基本就能解决这个导入错误。

  • 第二步:长期优化——调整版本兼容性(推荐)
    如果安装six后仍出现其他兼容问题,建议调整django-redis的版本以适配你的Django环境:

    • 若你使用的是Django 3.x及以上版本,推荐升级django-redis到4.12.0及以上版本,这些版本已经完全移除了对django.utils.six的依赖,更适配Python 3环境:
      pip install django-redis>=4.12.0
      
    • 若你需要保留旧版Django,也可以降级django-redis到4.9.x这类更匹配的版本,但更推荐升级到适配Python 3的新版本。
  • 第三步:验证缓存配置正确性
    最后确认你的settings.py中的缓存配置没有拼写错误,确保BACKEND字段为正确的django_redis.cache.RedisCache,示例配置如下:

    CACHES = {
        'default': {
            'BACKEND': 'django_redis.cache.RedisCache',
            'LOCATION': 'redis://localhost:6379/1',  # 根据你的Redis实例地址调整
            'OPTIONS': {
                'CLIENT_CLASS': 'django_redis.client.DefaultClient',
            }
        }
    }
    

完成以上步骤后,重新启动Django服务,访问/harem/reponse/接口应该就能正常运行了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:55:31