Snow Leopard и MySQLdb

После обвновления до Снежного Барса у меня перестал работать питоновский модуль для доступа с MySQL MySQLdb. Также куда-то пропала сама MySQL. Оказалось, что скомпилировать модуль под снежным барсом просто так не получается. Привожу короткую инструкцию.

  1. Скачайте и установите MySQL
  2. Скачайте последнюю версию MySQLdb.
  3. Установите Xcode с диска Snow Leopard. При установке поставьте галочку для добавления совместимости с 10.4
  4. Далее немного терминальной магии:
    tar zxvf MySQL-python-1.2.3c1.tar.gz
    cd MySQL-python-1.2.3c1
    export CC="gcc-4.0"
    export CXX="g++-4.0"
    python setup.py build
    sudo python setup.py install
    

Вся хитрость тут в двух строчках, начинающихся со слова export. Без них ничего не работает.

Проверить работоспособность можно так:

python
Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39) 
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>

Если не появилось никаких ошибок, значит у вас всё получилось.

Уникальный словарь для MacOS X — TranslateIt!

Включаем PHP и MySQL в «Леопарде»

В стандартную поставку «Леопарда» включен веб-сервер apache2 и php. Однако, php по умолчанию выключен.

Включаем php

  • Откройте терминал
  • Отредактируйте файл /etc/apache2/httpd.conf любым текстовым редактором. Например, это можно сделать коммандой sudo vim /etc/apache2/httpd.conf. Вас попросят ввести пароль для доступа к этому файлу.
  • Найдите в файле строчку LoadModule php5_module и раскомментируйте её удалив значёк # в начале строки.
  • Сохраните файл

Установка MySQL

Поддержка MySQL в php включена, поэтому нужно просто скачать дистрибутив MySQL с сайта производителя и установить.

Теперь нужно указать php точный путь к сокету для общения с MySQL. В терминале наберите следующее:

cd /etc/
sudo cp php.ini.default php.ini
sudo vim php.ini

Найдите в открывшемся файле строчку со словами mysql.default_socket и измените её так, чтобы она выглядела так:

mysql.default_socket = /tmp/mysql.sock

Теперь откройте System Prefrences -> Sharing и включите (или выключите, а затем включите) Web Sharing для того, чтобы перечитать изменённые файлы настроек.