Я новичок в Mac OS X, и я почти готов выбросить свой новенький MacBook Pro в окно. Все руководства по настройке среды разработки Django на Mac OS X Леопардовый коварно ошибочны. Все они пропускают один шаг, или предполагают, что вы настроили что-то в одну сторону, или просто предполагают, что я знаю одну вещь, которой не должен.
Я очень хорошо знаком с тем, как настроить среду в Ubuntu / Linux, и единственная часть, на которой я застрял с OS X, - это установка MySQL, автоматический запуск и установка привязок Python MySQL. Я думаю, что моя ошибка заключалась в использовании мешанины инструментов, которые я не совсем понимаю; Я использовал fink для установки MySQL и его библиотек разработки, а затем попытался создать привязки Python-MySQL из исходного кода (но они не собираются).
ОБНОВИТЬ: Я установил двоичный пакет MySQL из http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg, и у меня запущен сервер MySQL (можно получить доступ с помощью администратора). Версия MySQL, которую я получил из порта, была хламом, я не мог ее запустить вообще.
Я изменил исходный код пакета Python-MySQL в соответствии с выбранным мной ответом, но у меня все еще есть ошибки компиляции, которые я перечислил в комментариях. Я смог исправить это, добавив / usr / local / mysql / bin / к моему пути в моем файле "~ / .profile". " ПУТЬ = / usr / local / mysql / bin: $ ПУТЬ "
Спасибо за помощь, я очень осторожно относился к редактированию исходного кода, так как эта операция была очень простой в Ubuntu, но я с большим желанием попробую это в будущем. Мне действительно не хватает команды Ubuntu «apt-get»; иногда это делает жизнь очень легкой и простой. У меня уже есть образ Ubuntu VMware, работающий на моем Mac, поэтому я всегда могу использовать его в качестве запасного варианта (плюс он более точно соответствует моим производственным машинам, поэтому должен быть хорошей тестовой средой для отладки производственных проблем).
это слишком общий вопрос, не так ли?






Вы можете использовать BSD-подобный (?) http://macports.org, который обеспечивает самостоятельную установку в стиле Gentoo широкого спектра программного обеспечения, которое вы ожидаете найти в дистрибутиве Linux.
В качестве альтернативы вы можете просто запустить Ubuntu на виртуальной машине в качестве этапа тестирования.
Честно говоря, это просто
# port install <pkgname>
Python mysqldb packge в финке, но он находится в нестабильном дереве. Просто включить нестабильное дерево, и вы сможете его установить.
Или, если вы хотите иметь два альтернативных менеджера пакетов, они также находятся в MacPorts.
У меня также были проблемы в прошлый раз, когда я должен был это сделать, и в итоге я выбрал версию fink и сэкономил много головной боли.
Установка MySQL и MySQL-dev прошла гладко? Можете ли вы запустить MySQL, подключиться к нему и так далее? /usr/local/mysql/include содержит много файлов заголовков? (У меня там 46 заголовочных файлов для справки).
Если это так, MySQL должен быть в порядке. Однако для компиляции MySQL-python все еще требуется несколько ручных шагов.
Этот - достойное руководство: я включил основные шаги ниже.
Загрузите Исходный код MySQL-python (v1.2.2 на момент написания: все последующие инструкции относятся к этой версии)
$ tar xzf MySQL-python-1.2.2.tar.gz && cd MySQL-python-1.2.2
Отредактируйте _mysql.c: удалите строки 37-39 и измените строки 481-482. Вот разница:
37,39d36
< #ifndef uint
< #define uint unsigned int
< #endif
484,485c481,482
< uint port = MYSQL_PORT;
< uint client_flag = 0;
---
> unsigned int port = MYSQL_PORT;
> unsigned int client_flag = 0;
Свяжите библиотеки там, где их ожидает MySQL-python:
$ sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
В каталоге MySQL-python-1.2.2 перестройте пакет:
$ sudo python setup.py build
Примечание: Вы получите предупреждение, игнорируйте его.
Установите пакет:
$ sudo python setup.py install
Что касается запуска MySQL, есть инструкции здесь по запуску его как службы. Лично я просто бегаю
sudo mysqld_safe
вручную, установив фон с помощью ^Z и bg, как только я введу свой пароль.
Я все еще получаю ошибки компиляции: sh: mysql_config: команда не найдена Traceback (последний вызов последним): файл "setup.py", строка 16, в метаданных <module>, options = get_config () File "/ Users / michael / src /MySQL-python-1.2.2/setup_posix.py ", строка 43, в get_config libs = mysql_config (" libs_r ")
Файл «/Users/michael/src/MySQL-python-1.2.2/setup_posix.py», строка 24, в mysql_config поднять EnvironmentError, «% s не найден»% mysql_config.path EnvironmentError: mysql_config not found
хорошо, исправлены указанные выше синтаксические ошибки. Мне нужно было обновить переменную среды PATH, чтобы включить путь к mysql_config.
Обратите внимание, что Python по умолчанию на Leopard 32-разрядный, поэтому используйте 32-разрядный установщик MySQL (x86), а не 64-разрядный (x86_64). Или MySQLdb вообще не будет связываться. Альтернатива - заставить 64-битный питон работать в OS X, но это еще одна неприятность ...
Предполагая, что это просто среда разработки, вы можете попробовать использовать SQLite 3 в качестве своей базы данных. Пробег может варьироваться в зависимости от того, насколько низкий уровень вам нужно получить с базой данных для вашего конкретного приложения.
Я поместил пошаговое руководство в сообщение в блоге, которое может помочь: Установка Django с MySQL в Mac OS X.
Если вы пользователь Mac, установите MacPorts. Практически любое приложение Linux / Unix доступно через «порт». Это просто и удобно.
Установите MacPorts. Запустите port install mysql. У меня это сработало!
Не могли бы вы включить ошибки, возникающие при попытке скомпилировать MySQL-python?