导入错误:没有名为memcache(Django项目)的模块



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

python manage.py runserver

它会导致错误:

Importerror: No module named memcache

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

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

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

激活virtualenv类型后:

pip install python-memcached

这应该可以解决它。

基于 pymemcache 文档

从 3.2 版本开始,Django 包含一个基于 pymemcache 的缓存后端。请参阅其文档。在较旧的 Django 版本上,你可以使用 django-pymemcache。

所以对于 Django 3.2+ 使用:

pip install pymemcache

第一个跑

pip install django-pylibmc

设置缓存后端:

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

最新更新