Как установить MySQL и пакет Python MySQL на OS X Leopard? Или как я узнаю о том, как веб-разработчик использует OS X?

Я новичок в Mac OS X, и я просто готов бросить свой новый MacBook Pro из окна. Каждое учебное пособие по настройке среды разработки Django на Mac OS X Leopard коварно ошибочно. Они все пропускают один шаг или предполагают, что у вас есть что-то в одном направлении, или просто предполагают, что я знаю одно, чего я не должен.

Я очень хорошо знаком с настройкой среды на Ubuntu / Linux, и единственная часть, за которую я застрял в OS X, – это установить MySQL, автозапуск и установить привязки MySQL Python. Я думаю, что моя ошибка заключалась в использовании мешанины инструментов, которые я не совсем понимаю; Я использовал fink для установки MySQL и его библиотек разработки, а затем попытался построить привязки Python-MySQL из исходного кода (но они не будут построены).

UPDATE: я установил двоичный пакет MySQL из http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg , и у меня запущен сервер MySQL (можно получить доступ с помощью администратора.) Версия MySQL, которую я получил от порт был мусором, я не мог заставить его бежать.

Я изменил источник для пакета Python-MySQL в соответствии с ответом, который я выбрал, но у меня все еще есть ошибки компиляции, которые я перечислял в комментариях. Я смог исправить их, добавив / usr / local / mysql / bin / в мой путь в файле «~ / .profile». "PATH = / usr / local / mysql / bin: $ PATH"

Спасибо за помощь, я очень осторожно относился к редактированию исходного кода, так как эта операция была так проста на Ubuntu, но я буду более готов попробовать это в будущем. Мне очень не хватает команды «apt-get» Ubuntu; это делает жизнь очень легкой и простой иногда. У меня уже есть образ Ubuntu VMware, работающий на моем Mac, поэтому я всегда могу использовать его как резерв (плюс он более точно соответствует моим производственным машинам, поэтому он должен быть хорошей тестовой средой для отладки производственных проблем).

    7 Solutions collect form web for “Как установить MySQL и пакет Python MySQL на OS X Leopard? Или как я узнаю о том, как веб-разработчик использует OS X?”

    Утилита MySQL и MySQL-dev прошла гладко? Можете ли вы запустить MySQL, подключиться к нему и так далее? Имеет ли /usr/local/mysql/include много заголовков? (У меня есть 46 файлов заголовков, для справки).

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

    Это достойный путеводитель: я включил основные шаги ниже.


    1. Загрузите источник MySQL-python (v1.2.2 на момент написания: все последующие инструкции для этой версии)

       $ tar xzf MySQL-python-1.2.2.tar.gz && cd MySQL-python-1.2.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; 
    3. Symlink libs туда, где их ожидает MySQL-python:

       $ sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql 
    4. В своем каталоге MySQL-python-1.2.2 перестройте свой пакет:

       $ sudo python setup.py build 

      Примечание. Вы получите предупреждение, проигнорируйте его.

    5. Установите пакет:

       $ sudo python setup.py install 

    Что касается запуска MySQL, здесь есть инструкции по его запуску в качестве службы. Лично я просто запускаю

     sudo mysqld_safe 

    вручную, используя его с помощью ^Z и bg только я ввел свой пароль.

    Вы можете использовать BSD-подобный (?) http://macports.org , который предоставляет встроенные в gentoo встроенные установки широкого круга программного обеспечения, которое вы ожидаете найти в дистрибутиве Linux.

    Кроме того, вы можете просто запустить Ubuntu на виртуальной машине в качестве этапа тестирования.

    Это честно просто

    # port install <pkgname>

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

    Пакет Python mysqldb находится в fink , но он находится в нестабильном дереве. Просто включите нестабильное дерево , и вы сможете его установить.

    Или, если у вас есть два альтернативных менеджера пакетов, это также в MacPorts .

    У меня также были проблемы в последний раз, когда я должен был это сделать, и закончил тем, что пошел с версией fink и сэкономил много головной боли.

    Я поставил пошаговое руководство в сообщении в блоге, которое могло бы помочь: Установка Django с MySQL в Mac OS X.

    Если вы пользователь Mac, установите MacPorts . Через «порт» доступно практически любое приложение Linux / Unix. Это просто и легко управлять.

    Установите MacPorts . Запустить port install mysql . Это сработало для меня!

     
    Interesting Posts for Van-Lav

    Можно ли определить глобальные переменные в функции в Python

    конвертировать микросекунды в человекообразное время

    Перенаправления Python Перенаправление не поддерживается

    Python, консоль и кодировки Windows (cp 850 vs cp1252)

    Сортировка подписок в списке целых чисел Python

    Продолжение строки для понимания списков или выражений генератора в python

    Что такое «хорошая» палитра для расходящихся цветов в R? (или: можно ли вириди и магму объединить вместе?)

    numpy savetxt, созданный как integer, не сохраняет нули

    Каков самый простой способ экспортировать данные из приложения Google для движков в реальном времени?

    Запросы Python – потоки / процессы по сравнению с IO

    Regex исключить строку и атрибут в выражении

    Сравните файлы по строкам, чтобы убедиться, что они одинаковые, если они выводят их

    Python: Есть ли способ построить «частичный» участок поверхности с Matplotlib?

    Python: прослушивание на двух портах

    PhantomJS с ошибкой Selenium: Сообщение: исполняемый файл phantomjs должен находиться в PATH

    Python - лучший язык программирования в мире.