在我的一个 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',
}
}