Python имя '_mysql' не определено

Я создаю виртуальную среду с python 3.7.10, установив mysql и mysqlclient. Это mysql 8.0.28, mysqlclient 2.1.0.

При запуске python manage.py migrate получается следующее:

Когда я пытаюсь переустановить его, он говорит, что уже установлен. Я думаю, что python не может найти путь к mysql. Я просмотрел много вопросов, но не смог решить свою проблему. С тех пор как я впервые запустил python, я не могу найти причину.

Заранее спасибо за помощь.

С чего начать поиск проблемы?

Я нашел проблему, аналогичную вашей, в этом вопросе:

Может быть, вы можете начать с этого.

Пару дней назад у меня была такая же проблема. Убедитесь, что mysqlclient установлен, а затем установите pip install PyMySQL, Теперь используйте следующие строки кода в settings.py:

#в settings.py

import pymysql  
pymysql.install_as_MySQLdb()

это работает для меня.

Это происходит потому, что версия библиотеки mysql C (_mysql*.so) в MySQLdb не совместима с версией Python. Активируем виртуальную среду и пробуем следующее:

 pip uninstall mysqlclient
 pip install mysqlclient --no-cache-dir
Вернуться на верх