Приложение Pythonanywhere Django не работает с MySQL

#python #mysql #django #pythonanywhere

#python #mysql #django #pythonanywhere

Вопрос:

Что мы имеем:

  1. Приложение Django, размещенное на Pythonanywhere с инициализированной базой данных sqlite
  2. База данных MySQL активирована в Pythonanywhere (она предоставила мне имя базы данных, пароль и хост — все, что мне нужно для настройки settings.py )
  3. установка mysqlclient с помощью pip завершена успешно
  4. python manage.py миграции — СДЕЛАНО
  5. python manage.py миграция — ВЫПОЛНЕНА
  6. консоль mysql в Pythonanywhere показывает все созданные мной таблицы
  7. но перезапуск приложения вызывает страницу ошибки pythonanywhere и ссылку на журнал ошибок

 2020-08-15 17:22:56,536: Error running WSGI application
2020-08-15 17:22:56,569: django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
2020-08-15 17:22:56,569: Did you install mysqlclient?  

Итак, вопрос в том, как это могло быть возможно? Как я правильно понял, миграции используются mysqlclient для управления базой данных, как это может быть не установлено?

Может быть, кто-то сталкивался с подобной проблемой?

Комментарии:

1. Если вы используете virtualenv, вы уверены, что вы pip установили mysqlclient в этот virtualenv, а не в другой? Вы перезагружали веб-сайт со страницы «Web» внутри PythonAnywhere после выполнения установки pip?

2. Это был именно ответ! Большое спасибо. Я забыл переключиться на соответствующую виртуальную среду

3. Рад, что смог помочь 🙂

Ответ №1:

вам нужно установить клиент mysql, но это также может выдать ошибку, поэтому вам нужно установить его с помощью колес изhttps://www.lfd.uci.edu /~gohlke/pythonlibs/#mysqlclient и продолжайте устанавливать каждое колесо в случае возникновения ошибки.