2011-12-30 5 views
1

У меня есть сценарий Python, который записывается в базу данных MySQL, используя mysql-python. Это отлично подходит для Linux и Windows, но в OSX эта библиотека слишком сложна для моих клиентов для установки.Простая настройка для записи в MySQL на OSX с помощью Python

Требуется редактирование файлов конфигурации, символических ссылок каталога, установка gcc, xcode, ...
Подавляющий процесс для нетехнических пользователей.

Итак, есть ли более практичный способ поддержки написания MySQL на OSX?

Некоторые потенциальные альтернативы:

+0

mysql-python является наиболее зрелым. Одна из возможностей состоит в том, чтобы сделать ваш собственный бинарный дистрибутив mysql-python для Mac OS X для ваших клиентов ... – thesamet

+0

не нужен зрелый - просто делать простые выборки и вставки – hoju

ответ

2

незабываемые мгнове К счастью, на данный момент на самом деле нет тривиального решения. Если вам нужно использовать 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.

+0

Я обнаружил, что PyMySQL установлен без проблем и имеет одинаковые интерфейс как MySQL, поэтому изменения тривиальны. Спасибо за ваши комментарии. – hoju

 Смежные вопросы

  • Нет связанных вопросов^_^