<class 'django.core.exceptions.ImproperlyConfigured'>
Python 2.7.18: /usr/bin/python2.7
Sun Nov 10 16:37:17 2024

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /home/boodler/lib/python/fcgi.py in run(self=<fcgi.Request object>)
    578         """Runs the handler, flushes the streams, and ends the request."""
    579         try:
=>  580             protocolStatus, appStatus = self.server.handler(self)
    581         except:
    582             traceback.print_exc(file=self.stderr)
protocolStatus undefined, appStatus undefined, self = <fcgi.Request object>, self.server = <fcgi.WSGIServer object>, self.server.handler = <bound method WSGIServer.handler of <fcgi.WSGIServer object>>
 /home/boodler/lib/python/fcgi.py in handler(self=<fcgi.WSGIServer object>, req=<fcgi.Request object>)
   1264         try:
   1265             try:
=> 1266                 result = self.application(environ, start_response)
   1267                 try:
   1268                     for data in result:
result = None, self = <fcgi.WSGIServer object>, self.application = <django.core.handlers.wsgi.WSGIHandler object>, environ = {'CONTENT_LENGTH': '0', 'CONTEXT_DOCUMENT_ROOT': '/home/boodler/boodler.org', 'CONTEXT_PREFIX': '', 'DH_USER': 'boodler', 'DOCUMENT_ROOT': '/home/boodler/boodler.org', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_ENCODING': 'br,gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5', 'HTTP_CONNECTION': 'close', ...}, start_response = <function start_response>
 /home/boodler/lib/python/django/core/handlers/wsgi.py in __call__(self=<django.core.handlers.wsgi.WSGIHandler object>, environ={'CONTENT_LENGTH': '0', 'CONTEXT_DOCUMENT_ROOT': '/home/boodler/boodler.org', 'CONTEXT_PREFIX': '', 'DH_USER': 'boodler', 'DOCUMENT_ROOT': '/home/boodler/boodler.org', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_ENCODING': 'br,gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5', 'HTTP_CONNECTION': 'close', ...}, start_response=<function start_response>)
    228             # Check that middleware is still uninitialised.
    229             if self._request_middleware is None:
=>  230                 self.load_middleware()
    231             self.initLock.release()
    232 
self = <django.core.handlers.wsgi.WSGIHandler object>, self.load_middleware = <bound method WSGIHandler.load_middleware of <django.core.handlers.wsgi.WSGIHandler object>>
 /home/boodler/lib/python/django/core/handlers/base.py in load_middleware(self=<django.core.handlers.wsgi.WSGIHandler object>)
     38             mw_module, mw_classname = middleware_path[:dot], middleware_path[dot+1:]
     39             try:
=>   40                 mod = import_module(mw_module)
     41             except ImportError, e:
     42                 raise exceptions.ImproperlyConfigured, 'Error importing middleware %s: "%s"' % (mw_module, e)
mod undefined, global import_module = <function import_module>, mw_module = 'sphene.community.middleware'
 /home/boodler/lib/python/django/utils/importlib.py in import_module(name='sphene.community.middleware', package=None)
     32                 break
     33             level += 1
     34         name = _resolve_name(name[level:], package, level)
=>   35     __import__(name)
     36     return sys.modules[name]
builtin __import__ = <built-in function __import__>, name = 'sphene.community.middleware'
 /home/boodler/lib/python/sphene/community/__init__.py in <module>()
      5 from django import forms as djangoforms
      6 from django.conf import settings
=>    7 from sphene.community.forms import EditProfileForm, Separator
      8 from sphene.community.signals import profile_edit_init_form, profile_edit_save_form, profile_display
      9 from sphene.community.sphutils import get_sph_setting
sphene undefined, EditProfileForm undefined, Separator undefined
 /home/boodler/lib/python/sphene/community/forms.py in <module>()
     48     
     49 
=>   50 from django.contrib.auth.models import User
     51 from django.db.models import signals, get_apps, get_models
     52 from django.contrib.contenttypes.models import ContentType
django undefined, User undefined
 /home/boodler/lib/python/django/contrib/auth/models.py in <module>()
      4 from django.contrib import auth
      5 from django.core.exceptions import ImproperlyConfigured
=>    6 from django.db import models
      7 from django.db.models.manager import EmptyManager
      8 from django.contrib.contenttypes.models import ContentType
django undefined, models undefined
 /home/boodler/lib/python/django/db/__init__.py in <module>()
     39                 raise # If there's some other error, this must be an error in Django itself.
     40 
=>   41 backend = load_backend(settings.DATABASE_ENGINE)
     42 
     43 # `connection`, `DatabaseError` and `IntegrityError` are convenient aliases
backend undefined, load_backend = None, settings = None, settings.DATABASE_ENGINE undefined
 /home/boodler/lib/python/django/db/__init__.py in load_backend(backend_name='mysql')
     15         # Most of the time, the database backend will be one of the official
     16         # backends that ships with Django, so look there first.
=>   17         return import_module('.base', 'django.db.backends.%s' % backend_name)
     18     except ImportError, e:
     19         # If the import failed, we might be looking for a database backend
global import_module = None, backend_name = 'mysql'
 /home/boodler/lib/python/django/utils/importlib.py in import_module(name='django.db.backends.mysql.base', package='django.db.backends.mysql')
     32                 break
     33             level += 1
     34         name = _resolve_name(name[level:], package, level)
=>   35     __import__(name)
     36     return sys.modules[name]
builtin __import__ = <built-in function __import__>, name = 'django.db.backends.mysql.base'
 /home/boodler/lib/python/django/db/backends/mysql/base.py in <module>()
     11 except ImportError, e:
     12     from django.core.exceptions import ImproperlyConfigured
=>   13     raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
     14 
     15 # We want version (1, 2, 1, 'final', 2) or later. We can't just use
ImproperlyConfigured = None, e = None

<class 'django.core.exceptions.ImproperlyConfigured'>: Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory
      args = ('Error loading MySQLdb module: libmysqlclient.so....pen shared object file: No such file or directory',)
      message = 'Error loading MySQLdb module: libmysqlclient.so....pen shared object file: No such file or directory'