#python #mysql #django #pythonanywhere
#python #mysql #django #pythonanywhere
Вопрос:
Что мы имеем:
- Приложение Django, размещенное на Pythonanywhere с инициализированной базой данных sqlite
- База данных MySQL активирована в Pythonanywhere (она предоставила мне имя базы данных, пароль и хост — все, что мне нужно для настройки settings.py )
- установка mysqlclient с помощью pip завершена успешно
- python manage.py миграции — СДЕЛАНО
- python manage.py миграция — ВЫПОЛНЕНА
- консоль mysql в Pythonanywhere показывает все созданные мной таблицы
- но перезапуск приложения вызывает страницу ошибки 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 и продолжайте устанавливать каждое колесо в случае возникновения ошибки.