Ошибка при загрузке модуля MySQLdb "Вы установили mysqlclient или MySQL-python?"

Я использую командную строку Windows 10 для проекта django, используя python34, однако я столкнулся с трудностями с SQL.

Я уже установил mysqlclient с помощью pip install mysqlclient==1.3.5 и нашел файл, чтобы убедиться, что я не был бредовым. Затем я запустил python manage.py migrate, чтобы перенести таблицы в базу данных SQL (я использую phpmyadmin). Однако, когда команда вернулась с...

 File "C:\Users\user\env\lib\site-packages\django\db\backends\mysql\base.py", line 30, in <module>
    'Did you install mysqlclient or MySQL-python?' % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'.
Did you install mysqlclient or MySQL-python?

Я знаю, что такие вопросы уже существуют, но ни одно решение, похоже, не повлияло на попытки. Заранее благодарю вас.

Ответ 1

pip install pymysql

Затем отредактируйте файл __init__.py в исходном каталоге проекта (так же, как settings.py)

добавлять:

import pymysql

pymysql.install_as_MySQLdb()

Ответ 2

Столкнулся с той же проблемой после перехода на python 3. По-видимому, MySQL-python несовместим, поэтому, согласно официальным документам django, установил mysqlclient с помощью pip install mysqlclient на Mac. Обратите внимание, что в документации упоминаются некоторые проблемы, связанные с ОС.

Цитирование из документов:

Предпосылки

Вам может понадобиться установить заголовки и библиотеки разработки Python и MySQL, например:

sudo apt-get install python-dev default-libmysqlclient-dev # Debian/Ubuntu

sudo yum install python-devel mysql-devel # Red Hat/CentOS

brew install mysql-connector-c # macOS (Homebrew) (в настоящее время имеется ошибка. См. ниже)

В Windows есть двоичные диски, которые можно установить без MySQLConnector/C или MSVC.

Примечание по Python 3: если вы используете python3, вам нужно установить python3-dev с помощью следующей команды:

sudo apt-get install python3-dev # debian/Ubuntu

sudo yum install python3-devel # Red Hat/CentOS

Примечание об ошибке MySQL Connector/C на macOS

Смотрите также: https://bugs.mysql.com/bug.php?id=86971

Версии MySQL Connector/C могут иметь неправильные параметры конфигурации по умолчанию, которые вызывают ошибки компиляции, когда установлен mysqlclient-python. (По состоянию на ноябрь 2017 года, это верно для доморощенного mysql-connector-c и официального пакета)

Модификация mysql_config решает эти проблемы следующим образом.

+ Изменить

# on macOS, on or about line 112:
# Create options
libs="-L$pkglibdir"
libs="$libs -l "

в

# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"

Неправильная конфигурация ssl также может создавать проблемы; см., например, brew info openssl для получения подробной информации о macOS.

Установить из PyPI

pip install mysqlclient

ПРИМЕЧАНИЕ. Колеса для Windows могут не выпускаться с исходным пакетом. Вы должны закрепить версию в вашем requirements.txt чтобы не пытаться установить новейший пакет с исходным кодом.

Установить из источника

  1. Скачать исходный код можно с помощью git clone или zipfile.
  2. Настройте site.cfg
  3. python setup.py install

Ответ 3

Используйте приведенную ниже команду для решения вашей проблемы,

pip install mysql-python
apt-get install python3-mysqldb libmysqlclient-dev python-dev

Работает на Debian

Ответ 4

Для пипса

pip install pymysql

Для pip3 вы должны использовать

python3 -m pip install PyMySQL

Затем отредактируйте файл init.py в исходном каталоге вашего проекта (так же, как settings.py). Добавлять:

import pymysql

pymysql.install_as_MySQLdb()

Ответ 5

У меня была эта проблема совсем недавно, даже с использованием библиотеки mysqlclient совместимой с python 3, и mysqlclient удалось решить мою проблему, хотя и немного неортодоксально. Если вы используете MySQL 8, попробуйте и посмотрите, помогает ли это! :)

Я просто сделал копию файла libmysqlclient.21.dylib находящегося в моей последней установке MySQL 8.0.13, которая была в /usr/local/mysql/lib и перенесла эту копию под тем же именем в /usr/lib.

Вам придется временно отключить защиту целостности безопасности на вашем Mac, но это сделать, поскольку вы не имеете или не сможете изменять разрешения на что-либо в /usr/lib не отключая его. Вы можете сделать это, загрузившись в систему восстановления, нажмите "Утилиты" в меню вверху и откройте терминал и введите csrutil disable в терминал. Не забудьте снова включить защиту целостности безопасности, когда вы это сделаете! Единственное отличие от вышеописанного процесса заключается в том, что вместо этого вы запускаете csrutil enable.

Вы можете узнать больше о том, как отключить и включить защиту целостности защиты от макросов.

Ответ 6

Для пипса

pip install pymysql

For pip3 you should use

python3 -m pip install PyMySQL

Затем отредактируйте файл __init__.py в каталоге источника вашего проекта (так же, как settings.py)

добавлять:

import pymysql

pymysql.install_as_MySQLdb()

Ответ 7

Файл "/home/new/myblog/myblog/init.py", строка 1, при импорте MySQLdb ImportError: Ни один модуль с именем 'MySQLdb' не выполнен, mas deu esse erro.

Ответ 8

Установка mysqlclient с помощью anaconda довольно simple and straight forward.

conda install -c bioconda mysqlclient

и установите pymysql с помощью pip.

pip install pymqsql

Ответ 9

отредактируйте файл init.py в каталоге вашего проекта

import pymysql

pymysql.install_as_MySQLdb()

Ответ 10

Попробуйте запустить apache и mysql на xampp. Меня устраивает.

Ответ 11

Используйте приведенную ниже команду для решения вашей проблемы,

pip install mysql-python

И не отправляйте вопросы перед правильным поиском, эти вопросы были поставлены под сомнение и отвечены, см. ссылку ниже

django.core.exceptions.ImproperlyConfigured: Ошибка при загрузке модуля MySQLdb: нет модуля с именем MySQLdb