Как установить MySQLdb (библиотека доступа к данным Python к MySQL) на Mac OS X?

Я - новичок Python, но я только что провел день, работая, как получить MySQLdb, работающий правильно, и вселенная по данным Google включает многочисленные ссылки на то, что ЛАВАШ это, и беспорядочное количество руководств, которые, кажется, устарели. Учитывая, что этот сайт предназначается для обращения к этим видам проблем, и я знаю, что испытываю необходимость в ссылке на решение в будущем, я собираюсь задать вопрос, предоставить мой ответ и видеть что еще плавания на поверхность.

Таким образом, вопрос состоит в том, как получить MySQLdb, работающий над Mac OS X?

98
задан demongolem 14 August 2012 в 13:10
поделиться

4 ответа

Этот ответ является обновлением, приблизительно ноябрь 2019. Ни одна из популярных установок зернышка не даст Вам рабочую установку на MacOS 10.13 (и вероятно другие версии также). Вот простой способ, которым я получил вещи, работающие:

brew install mysql
pip install mysqlclient

, Если Вы нуждаетесь в помощи, устанавливая варево, обратитесь на этот сайт: https://brew.sh /

0
ответ дан 24 November 2019 в 05:09
поделиться

Я столкнулся с этой проблемой и нашел, что mysqlclient потребности знать, где найти openssl, и OSX скрывает это по умолчанию.

Определяют местоположение openssl с brew info openssl и затем добавляют путь к Вашему openssl мусорное ведро к Вашему ПУТИ:

export PATH="/usr/local/opt/openssl/bin:$PATH"

я рекомендую добавить, что к Вашему .zshrc или .bashrc, таким образом, Вы не должны волноваться об этом в будущем. Затем с той экспортируемой переменной (который может закрытие награды и повторное открытие Вашей сессии удара), добавьте еще две огибающих переменные:

# in terminal
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"

Затем наконец, выполненный:

pipenv install mysqlclient

и это должно установить очень хорошо.

Источник: https://medium.com / shandou/pipenv-install-mysqlclient-on-macosx-7c253b0112f2

0
ответ дан 24 November 2019 в 05:09
поделиться

Установите mysql и python через Macports Носильщики сделали всю сложную работу.

sudo port install py26-mysql 
sudo port install mysql5-server

должны установить то, что вам нужно. (см. Переполнение стека для комментариев относительно сервера mysql )

Если вам нужно только подключиться к mysql, а не запускать сервер, тогда первой строки будет достаточно.

Macports теперь (начало 2013 г.) предоставит двоичные загрузки для общих комбинаций ОС и исполняемой архитектуры, для других (и если вы запросите это) он будет построен из исходных кодов.

В общем, macports (или fink) помогают, когда есть сложные библиотеки и т.д., которые необходимо установить.

Код только для Python, и если простые зависимости C могут быть установлены с помощью setuptools и т. Д., Но он начинает усложняться, если вы смешиваете их.

36
ответ дан 24 November 2019 в 05:09
поделиться

Обновление для тех, кто использует Python3: Вы можете просто использовать conda install mysqlclient для установки библиотек, необходимых для использования MySQLdb в том виде, в каком он существует в настоящее время. Следующий вопрос SO был полезной подсказкой: Python 3 ImportError: Нет модуля с именем 'ConfigParser' . Установка mysqlclient установит mysqlclient, mysql-connector и llvmdev (по крайней мере, он установил эти 3 библиотеки на моем компьютере).

Вот рассказ о моем бессвязном опыте решения этой проблемы. Хотелось бы увидеть его отредактированным или обобщенным, если вы лучше разбираетесь в проблеме ... примените немного магии SO.

Примечание: комментарии в следующем абзаце относятся к Snow Leopard, но не к Lion, который, кажется, требует 64-битный MySQL

Во-первых, автор (все еще?) MySQLdb говорит здесь , что одна из самых пагубных проблем заключается в том, что OS X поставляется с 32-битной версией Python, но большинство обычных пользователей (включая меня), вероятно, сразу перейдут к установке 64-битная версия MySQL. Плохой ход ... удалите 64-битную версию, если вы ее установили (инструкции по этой неудобной задаче доступны на SO здесь ), затем загрузите и установите 32-битную версию (пакет здесь ])

Существует множество пошаговых инструкций по созданию и установке библиотек MySQLdb. У них часто есть тонкие различия. Этот показался мне самым популярным и предоставил рабочее решение. Я воспроизвел его с парой правок ниже

Шаг 0: но большинство обычных пользователей (включая меня), вероятно, сразу же перейдут к установке 64-битной версии MySQL. Плохой ход ... удалите 64-битную версию, если вы ее установили (инструкции по этой неудобной задаче доступны на SO здесь ), затем загрузите и установите 32-битную версию (пакет здесь ])

Существует множество пошаговых инструкций по созданию и установке библиотек MySQLdb. У них часто есть тонкие различия. Этот показался мне самым популярным и предоставил рабочее решение. Я воспроизвел его с парой правок ниже

Шаг 0: но большинство обычных пользователей (включая меня), вероятно, сразу же перейдут к установке 64-битной версии MySQL. Плохой ход ... удалите 64-битную версию, если вы ее установили (инструкции по этой неудобной задаче доступны на SO здесь ), затем загрузите и установите 32-битную версию (пакет здесь ])

Существует множество пошаговых инструкций по созданию и установке библиотек MySQLdb. У них часто есть тонкие различия. Этот показался мне самым популярным и предоставил рабочее решение. Я воспроизвел его с парой правок ниже

Шаг 0: затем загрузите и установите 32-битную версию (пакет здесь )

Существует множество пошаговых инструкций по созданию и установке библиотек MySQLdb. У них часто есть тонкие различия. Этот показался мне самым популярным и предоставил рабочее решение. Я воспроизвел его с парой правок ниже

Шаг 0: затем загрузите и установите 32-битную версию (пакет здесь )

Существует множество пошаговых инструкций по созданию и установке библиотек MySQLdb. У них часто есть тонкие различия. Этот показался мне самым популярным и предоставил рабочее решение. Я воспроизвел его с парой правок ниже

Шаг 0: Прежде чем начать, я предполагаю, что у вас установлены MySQL, Python и GCC на Mac.

Шаг 1: Загрузите последнюю версию адаптера MySQL для Python с SourceForge.

Шаг 2: Распакуйте загруженный пакет:

tar xzvf MySQL-python-1.2.2.tar.gz

Шаг 3: Внутри папки очистите пакет:

sudo python setup.py clean

ПАРА ДОПОЛНИТЕЛЬНЫХ ШАГОВ, (из этот комментарий )

Шаг 3b: Удалите все из каталога MySQL-python-1.2.2 / build / * - не доверяйте "python setup.py clean" сделать это за вас

Шаг 3c: Удалите яйцо в Users / $ USER / .python-egg

Шаг 4: Изначально требовалось редактировать _mysql.c, но теперь НЕ НУЖНО. Сообщество MySQLdb, похоже, исправило эту ошибку.

Шаг 5: Создайте символическую ссылку в lib, чтобы указать на подкаталог с именем mysql. Это то, что он ищет во время компиляции.

sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

Шаг 6: Отредактируйте файл setup_posix.py и измените следующее

mysql_config.path = "mysql_config"

на

mysql_config.path = "/ usr / local / mysql / bin / mysql_config"

Шаг 7: В том же каталоге перестройте свой пакет (игнорируйте предупреждения, которые идут вместе с ним)

sudo python setup.py build

Шаг 8: Установите пакет, и все готово.

sudo python setup.py install

Шаг 9: Проверьте, работает ли он. Это работает, если вы можете импортировать MySQLdb.

python

>>> import MySQLdb

Шаг 10: не особенно перспективный URL) и выясните, что вам нужно cd .. вне каталога сборки, и ошибка должна исчезнуть.

Как я уже писал выше, мне бы хотелось, чтобы этот ответ был обобщенным, так как существует множество других конкретных примеров этой ужасной проблемы. Отредактируйте или дайте свой, лучший ответ.

131
ответ дан 24 November 2019 в 05:09
поделиться
Другие вопросы по тегам:

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