Плагин MySQL не может быть загружен: указанный модуль не может быть найден - PullRequest
0 голосов
/ 13 февраля 2019

Используя pipenv, я пытаюсь следовать учебному пособию «Написание вашего первого приложения Django» и застреваю на part 2 .У меня есть бесплатная база данных MySQL уровня AWS, и я пытаюсь настроить приложение для подключения к MySQL вместо SQLite.Каждый раз, когда я пытаюсь двигаться вперед и использую команду python manage.py migrate, указанную на этой странице, я получаю вышеуказанную ошибку (полное отслеживание стека в нижней части этого поста).Это также происходит, когда я просто пытаюсь python manage.py runserver, как в части 1.

Я пытался найти все различные части последней строки трассировки стека, django.db.utils.OperationalError: (2059, "Plugin mysql could not be loaded: The specified module could not be found. Library path is 'lib/mariadb/plugin/mysql.dll'"), и весь мой поиск принес мнек несвязанным ресурсам, таким как приложения ГИС и тонн после тонн сообщений, направляющих меня на , посмотрите на мой метод аутентификации .Несмотря на то, что ни одно из них не соответствовало моей ошибке, я исходил из предположения, что может быть где-то похоронена ошибка, поэтому они того стоили.Я проверил моего существующего пользователя, который имеет «Стандартный» тип аутентификации согласно MySQL Workbench.Может быть, это перевернулось, поэтому я быстро создал нового пользователя с теми же разрешениями и разрешенными хостами, что и первый, но на этот раз тип аутентификации установлен на «Пароль SHA256».Та же ошибка.

Хорошо, следующий вариант.Может быть, виртуальная среда как-то испорчена.Удалите и перестройте среду, переустановите зависимости, pip run python manage.py runserver.Та же ошибка.Я заметил, что у меня запущен Python 3.6 x86, поэтому я снова удаляю среду, устанавливаю Python 3.7 x64, обновляю pip, устанавливаю pipenv, перестраиваю среду и переустанавливаю зависимости.Та же ошибка.

Хорошо, пора заглянуть в веб-установщик Oracle MySQL и посмотреть, что он сможет сделать.Обновите установленное, установите соединители Python, C и C ++ и снова удалите / пересоберите среду.Еще раз, меня встречают с той же ошибкой.Я удаляю все MySQL, кроме Workbench, затем загружаю обычный установщик и пытаюсь снова получить соединители.Я снова удаляю / перестраиваю свое окружение и все равно получаю ту же ошибку.

Последние шаги отчаяния:

  • Использование Все , чтобы искать на жестком диске что-нибудь в любом местес именем mysql.dll, которое может оказаться не в том месте (без результатов)
  • Используйте замечательную функцию «Поиск в файлах» в Notepad ++ для поиска всех сегментов пути во всех файлах в виртуальной среде (без результатов))
  • Посмотрите на последнюю строку, содержащую номер строки в трассировке стека, см. connections.py:164, и попытайтесь проследить мой путь, чтобы выяснить, откуда он вытягивает метод (без результата)

Поскольку Google подвел меня, я обращаюсь к вам, ребята.Кто-нибудь сталкивался с этой проблемой или видел соответствующий вопрос?Я попытался включить всю информацию, которая, по моему мнению, была бы полезной, но, если есть что-то, что могло бы помочь, пожалуйста, спросите.

Спасибо за ваше время и отличного утра / дня / ночи.

ОС: Windows 10.0.17763.253

Архитектура: 64-разрядная

Версия MySQL: 5.7.23

Версия MySQL Workbench: 8.0.15

Версия Python:3.7.0

Версия Django: 2.1.7

Версия mysqlclient: 1.4.1

Команда: pipenv run python manage.py runserver

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django_tutorial',
        'HOST': 'elided',
        'USER': 'elided',
        'PASSWORD': 'elided'
    }
}

Ошибка трассировки стека:

    Traceback (most recent call last):
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\backends\base\base.py", line 216, in ensure_connection
    self.connect()
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\backends\base\base.py", line 194, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\backends\mysql\base.py", line 227, in get_new_connection
    return Database.connect(**conn_params)
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\MySQLdb\__init__.py", line 84, in Connect
    return Connection(*args, **kwargs)
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\MySQLdb\connections.py", line 164, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
MySQLdb._exceptions.OperationalError: (2059, "Plugin mysql could not be loaded: The specified module could not be found. Library path is 'lib/mariadb/plugin/mysql.dll'")

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

Traceback (most recent call last):
  File "wetpages\manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\core\management\__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\core\management\base.py", line 316, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\core\management\base.py", line 350, in execute
    self.check()
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\core\management\base.py", line 379, in check
    include_deployment_checks=include_deployment_checks,
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\core\management\commands\migrate.py", line 59, in _run_checks
    issues = run_checks(tags=[Tags.database])
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\core\checks\registry.py", line 71, in run_checks
    new_errors = check(app_configs=app_configs)
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\core\checks\database.py", line 10, in check_database_backends
    issues.extend(conn.validation.check(**kwargs))
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\backends\mysql\validation.py", line 9, in check
    issues.extend(self._check_sql_mode(**kwargs))
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\backends\mysql\validation.py", line 13, in _check_sql_mode
    with self.connection.cursor() as cursor:
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\backends\base\base.py", line 255, in cursor
    return self._cursor()
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\backends\base\base.py", line 232, in _cursor
    self.ensure_connection()
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\backends\base\base.py", line 216, in ensure_connection
    self.connect()
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\utils.py", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\backends\base\base.py", line 216, in ensure_connection
    self.connect()
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\backends\base\base.py", line 194, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\django\db\backends\mysql\base.py", line 227, in get_new_connection
    return Database.connect(**conn_params)
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\MySQLdb\__init__.py", line 84, in Connect
    return Connection(*args, **kwargs)
  File "C:\Users\Mr. Nakaan\.virtualenvs\python-i3rFUgWM\lib\site-packages\MySQLdb\connections.py", line 164, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
django.db.utils.OperationalError: (2059, "Plugin mysql could not be loaded: The specified module could not be found. Library path is 'lib/mariadb/plugin/mysql.dll'")
...