In a Django project of mine, I run this command to run the project on localhost:

python runserver

It results in the error:

Importerror: No module named memcache

However, I’ve already fulfilled the requirement via: sudo apt-get install python-memcache

Peculiarly, if I go into the python shell outside my virtualevn and try import memcache, it works fine. However, inside my virtualenv, if I go into the python shell and try import memcache, I get the same import error listed above. What’s going on?

As you are using virtualenv you’d need to install this dependency from inside as you might have created the virtual environment before installed it as a system-wide library.

After activate your virtualenv type:

pip install python-memcached

This should solve it.


pip install django-pylibmc

set you cache backend:

    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
        'LOCATION': '',

Based on 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.

So for Django 3.2+ use :

pip install pymemcache