Не удается подключиться к базе данных mysql ubuntu 20.4 (VPS) "ModuleNotFoundError: Нет модуля с именем 'MySQLdb'"

Я работаю над настройкой моего первого неуправляемого vps (ubuntu 20.4) и следую документу для подключения моего сайта django к серверу mysql "https://www.digitalocean.com/community/tutorials/how-to-create-a-django-app-and-connect-it-to-a-database"

можно настроить

  1. python/django/virtualenv
  2. mysql server - tested from mysql workbench on my local machine-Ok
  3. apache2 working ok. able to see the welcome screen with sqlite3.

теперь переходим к mysql. Я попробовал оба способа('ENGINE': 'django.db.backends.mysql' и файл опций '/etc/mysql/my.cnf' для подключения к серверу mysql из проекта django.

Ни одна из альтернатив не работает. активировал virtualenv, установил mysqldb с помощью

a) sudo apt install libmysqlclient-dev default-libmysqlclient-dev b) pip install wheel c) pip install mysqlclient

при попытке миграции возникла следующая ошибка. пробовал все варианты, доступные на stakoverflow, но ни один из них не работает.

Ошибка: " (envFusion) worker@server:~/fusion/fusionerp$ python manage.py makemigrations Traceback (последний последний вызов): Файл "/home/worker/fusion/envFusion/lib/python3.8/site-packages/django/db/backends/mysql/base.py", строка 15, in import MySQLdb as Database ModuleNotFoundError: Нет модуля с именем 'MySQLdb' Вышеуказанное исключение было непосредственной причиной следующего исключения: . . Файл "/home/worker/fusion/envFusion/lib/python3.8/site-packages/django/db/backends/mysql/base.py", строка 17, in raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Ошибка при загрузке модуля MySQLdb. Вы установили mysqlclient? "

enter image description here

В ubuntu 20.04 deafult python версии 3.8 и подключение к mysql с 3.8 немного проблематично, поэтому вам нужно понизить версию python до 3.6 или перейти на ubuntu 18, если вы начинаете с чистого листа.

Нашел руководство по понижению версии с помощью альтернатив, и оно сработало. Но у меня были другие зависимости, где мне нужен python >= 3.7. Поэтому у меня не было другого выбора, кроме как обновить мою ubuntu 20.04 на vps и настроить с postgres. Это работает намного лучше, чем я ожидал с apache2/restframework/redis.

Вернуться на верх