Используя 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'")