django.core.cache.backends.base.InvalidCacheBackendError:找不到后端“django_redis.cache.RedisCache”:无法导入名称“6”

2024-01-21

django_redis导入失败six from django.utils

追溯:


Internal Server Error: /harem/reponse/
Traceback (most recent call last):
  File "/home/yangcoco/.virtualenvs/Django_czbk/lib/python3.6/site-packages/django/core/cache/__init__.py", line 50, in _create_cache
    backend_cls = import_string(backend)
  File "/home/yangcoco/.virtualenvs/Django_czbk/lib/python3.6/site-packages/django/utils/module_loading.py", line 17, in import_string
    module = import_module(module_path)
  File "/home/yangcoco/.virtualenvs/Django_czbk/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/yangcoco/.virtualenvs/Django_czbk/lib/python3.6/site-packages/django_redis/cache.py", line 8, in <module>
    from .util import load_class
  File "/home/yangcoco/.virtualenvs/Django_czbk/lib/python3.6/site-packages/django_redis/util.py", line 8, in <module>
    from django.utils import six
ImportError: cannot import name 'six'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/yangcoco/.virtualenvs/Django_czbk/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/yangcoco/.virtualenvs/Django_czbk/lib/python3.6/site-packages/django/utils/deprecation.py", line 93, in __call__
    response = self.process_request(request)
  File "/home/yangcoco/.virtualenvs/Django_czbk/lib/python3.6/site-packages/django/contrib/sessions/middleware.py", line 20, in process_request
    request.session = self.SessionStore(session_key)
  File "/home/yangcoco/.virtualenvs/Django_czbk/lib/python3.6/site-packages/django/contrib/sessions/backends/cache.py", line 17, in __init__
    self._cache = caches[settings.SESSION_CACHE_ALIAS]
  File "/home/yangcoco/.virtualenvs/Django_czbk/lib/python3.6/site-packages/django/core/cache/__init__.py", line 79, in __getitem__
    cache = _create_cache(alias)
  File "/home/yangcoco/.virtualenvs/Django_czbk/lib/python3.6/site-packages/django/core/cache/__init__.py", line 53, in _create_cache
    "Could not find backend '%s': %s" % (backend, e))
django.core.cache.backends.base.InvalidCacheBackendError: Could not find backend 'django_redis.cache.RedisCache': cannot import name 'six'

Using: django-redis 4.10.0 python 3.6


您可以尝试安装 django-redis 的前沿版本来修复issue https://github.com/niwinz/django-redis/issues/369.

这将使您能够使用 Django 3可以改变您开发应用程序的方式的功能。 https://docs.djangoproject.com/en/3.0/releases/3.0/#enumerations-for-model-field-choices

为此,只需直接从 GitHub 安装软件包,如果您像我一样使用 Pipenv,只需发出以下命令:

pipenv install git+https://github.com/niwinz/django-redis.git@master#egg=django-redis

如果您仍然想坚持使用 Django 2.X,只需将 Pipfile 中的 Django 条目编辑为:

django = "==2.*"

或者发出以下命令:

pipenv install "django==2.*"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django.core.cache.backends.base.InvalidCacheBackendError:找不到后端“django_redis.cache.RedisCache”:无法导入名称“6” 的相关文章

随机推荐