1

I am getting the following error when I try and use manage.py after setting up my MySQL database connections in Django 2.

Traceback (most recent call last):
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/db/backends/mysql/base.py", line 15, in <module>
    import MySQLdb as Database
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/MySQLdb/__init__.py", line 18, in <module>
    import _mysql
ImportError: dlopen(/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/_mysql.cpython-37m-darwin.so, 2): Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.21.dylib
  Referenced from: /Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/_mysql.cpython-37m-darwin.so
  Reason: image not found

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/core/management/__init__.py", line 357, in execute
    django.setup()
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/apps/registry.py", line 112, in populate
    app_config.import_models()
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/apps/config.py", line 198, in import_models
    self.models_module = import_module(models_module_name)
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/contrib/auth/models.py", line 2, in <module>
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/contrib/auth/base_user.py", line 47, in <module>
    class AbstractBaseUser(models.Model):
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/db/models/base.py", line 101, in __new__
    new_class.add_to_class('_meta', Options(meta, app_label))
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/db/models/base.py", line 304, in add_to_class
    value.contribute_to_class(cls, name)
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/db/models/options.py", line 203, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/db/__init__.py", line 33, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/db/utils.py", line 202, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/db/utils.py", line 110, in load_backend
    return import_module('%s.base' % backend_name)
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/Users/sheldon/.local/share/virtualenvs/django-server-xw4tZkRJ/lib/python3.7/site-packages/django/db/backends/mysql/base.py", line 20, in <module>
    ) from err
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?

I am working on macOS 10.13.5 and I have installed mysqlclient with pipenv (running manage.py in the pipenv environment). I have also installed mysql-connector-c with brew as suggested.

Using Sequel Pro I can connect to my MAMP MySQL server without any issues. I have also tried using a docker MySQL server with the same results. I mimicked these settings in settings.php:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'default',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '127.0.0.1',
        'PORT': '8889',
    },
}

I assume there is something simple I am missing. Any help would be appreciated.

3
  • Did you install mysqlclient? Commented Aug 5, 2018 at 8:29
  • Maybe the very first answer will help you. stackoverflow.com/questions/46902357/… Commented Aug 5, 2018 at 12:27
  • @JerinPeterGeorge Wow that worked, I could have sworn PyMySQL was a 2.x module only. Much appreciated. I tried my original configuration on my work computer and it worked just fine, do you know why that might be? Commented Aug 7, 2018 at 22:28

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.