2016-06-24 5 views
2

Nach einem yum-Update auf dem Server begann eine django webapp plötzlich 500 interne Serverfehler jeder Anfrage zu werfen. Dies wurde in der Protokolldatei gefunden.Django und fehlende libmemcached.so.10

Traceback (most recent call last): 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 123, in get_response 
    response = middleware_method(request) 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/contrib/sessions/middleware.py", line 16, in process_request 
    request.session = self.SessionStore(session_key) 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/contrib/sessions/backends/cached_db.py", line 24, in __init__ 
    self._cache = caches[settings.SESSION_CACHE_ALIAS] 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/core/cache/__init__.py", line 80, in __getitem__ 
    cache = _create_cache(alias) 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/core/cache/__init__.py", line 55, in _create_cache 
    return backend_cls(location, params) 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/core/cache/backends/memcached.py", line 174, in __init__ 
    import pylibmc 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/pylibmc/__init__.py", line 71, in <module> 
    import _pylibmc 
ImportError: libmemcached.so.10: cannot open shared object file: No such file or directory 

Version von libmemcached ist 1.0.16 und pylibmc ist 1.5.1.

Unsere Webanwendung verwendet memcached via pylibmc zum Caching. Was gibt?

Antwort

-1

Ersetzen Sie pylibmc durch python-memcached.

Pylibmc soll eine bessere Leistung als Python-Memcached haben, aber der Unterschied ist gering. pylibmc 1.5.1 scheint mit libmemcached 1.0.16 nicht kompatibel zu sein. Die Änderung ist ziemlich einfach. Ändern Sie eine Zeile in settings.py ändern

'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 

Laden Sie Ihre WSDI-Prozess und Sie sind fertig.

-1

Version von libmemcached 1.0.18 und pylibmc===1.5.1 ist kompatibel und funktionierte für mich

Verwandte Themen