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

23
задан PrimeBenefiter 24 October 2017 в 04:42
поделиться

8 ответов

pip install pymysql

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

добавьте:

import pymysql

pymysql.install_as_MySQLdb()
99
ответ дан aforwardz 24 October 2017 в 04:42
поделиться

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

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

Работает на Debian

8
ответ дан user2317231 24 October 2017 в 04:42
поделиться

Для pip

pip install pymysql

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

python3 -m pip install PyMySQL

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

import pymysql

pymysql.install_as_MySQLdb()
0
ответ дан JJJ 24 October 2017 в 04:42
поделиться

Попробуйте запустить apache и mysql на xampp. Это работает для меня.

-3
ответ дан Aldi Azhar 24 October 2017 в 04:42
поделиться

Отредактируйте файл init.py в исходном каталоге вашего проекта

import pymysql

pymysql.install_as_MySQLdb()
-1
ответ дан Jean-François Fabre 24 October 2017 в 04:42
поделиться

Столкнулся с той же проблемой после перехода на python 3. По-видимому, MySQL-python несовместим, поэтому согласно официальному django docs , установленному 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
7
ответ дан Aniket Sinha 24 October 2017 в 04:42
поделиться

У меня была эта проблема совсем недавно, даже с использованием 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.

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

0
ответ дан Xoadra 24 October 2017 в 04:42
поделиться

Установка mysqlclient использование anaconda симпатична simple and straight forward.

conda install -c bioconda mysqlclient

и установка pymysql зернышко использования.

pip install pymqsql
0
ответ дан Bandham Manikanta 15 October 2019 в 14:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: