Importerror: No module named memcache (Django project)

Importerror: No module named memcache (Django project)

在我的一个 Django 项目中,我 运行 这个命令到 运行 本地主机上的项目:

python manage.py runserver

导致错误:

Importerror: No module named memcache

但是,我已经通过以下方式满足了要求:sudo apt-get install python-memcache

特别是,如果我进入我的 virtualevn 之外的 python shell 并尝试 import memcache,它工作正常。但是,在我的 virtualenv 中,如果我进入 python shell 并尝试 import memcache,我会得到上面列出的相同导入错误。这是怎么回事?

当您使用 virtualenv 时,您需要从内部安装此依赖项,因为您可能在将其作为系统范围的库安装之前创建了虚拟环境。

激活您的 virtualenv 类型后:

pip install python-memcached

这应该可以解决。

首先 运行

pip install django-pylibmc

设置缓存后端:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
        'LOCATION': '127.0.0.1.11211',
    }
}

基于pymemcache documentation

Since version 3.2, Django has included a pymemcache-based cache backend. See its documentation. On older Django versions, you can use django-pymemcache.

因此对于 Django 3.2+ 使用:

pip install pymemcache