незабываемые мгнове К счастью, на данный момент на самом деле нет тривиального решения. Если вам нужно использовать MySQL с Python, самым простым и надежным решением для OS X является установка всего - Python, MySQLdb, любых других пакетов Python сторонних производителей, клиентских библиотек MySQL и, при необходимости, серверных библиотек и утилит MySQL - с использованием системы управления пакетами, например MacPorts. Попытка установить различные компоненты из разных источников часто сталкивается с проблемами с исполняемыми и несовместимыми исполняемыми файлами и библиотеками: 32-разрядные и 64-разрядные, разные ABI (10,3 против 10,6) и т. Д.
Для системы с установленными Xcode и the MacPorts base system , вы можете построить и установить все с помощью одной команды:
sudo port install py27-mysql
Если вам нужен сервер MySQL, а также:
sudo port install py27-mysql mysql5-server
Все MacPorts-установленные исполняемые файлы будут установлены по умолчанию в /opt/local
, так что вам просто нужно запустить вещи оттуда:
/opt/local/bin/python2.7
Для того, чтобы облегчить для пользователей, вы должны быть в состоянии использовать MacPorts построить набор необходимых портов в качестве бинарных архивов и установить скрипт для установите базовую систему MacPorts, а затем ваши готовые пакеты. В руководстве MacPorts есть информация об этом here. Однако большая часть этого устарела для MacPorts 2.0.x. До тех пор, пока руководство не будет обновлено, появится информация, начинающаяся here. Самый безопасный подход состоял бы в создании другого набора пакетов для каждой поддерживаемой версии OS X. Это может быть возможно можно построить один восходящий совместимый набор на самой старой системе: скажем, построить пакеты на 10,5, которые также будут работать на системах 10.6 и 10.7. Чтобы предотвратить помехи при установке MacPorts клиента, вы также можете создать базовую систему MacPorts из источника и изменить корень установки на что-то другое, кроме /opt/local
.
Более идиоматический подход к OS X должен был бы использовать py2app для создания пакета приложений, который включает в себя Python и клиентские библиотеки MySQL. Я не знаю, успешно ли это сделал.
Другое предложение: если вам действительно не нужен удаленный сервер, вместо этого используйте SQLite. Support for SQLite включен в стандартную библиотеку Python.
mysql-python является наиболее зрелым. Одна из возможностей состоит в том, чтобы сделать ваш собственный бинарный дистрибутив mysql-python для Mac OS X для ваших клиентов ... – thesamet
не нужен зрелый - просто делать простые выборки и вставки – hoju