Общее·количество·просмотров·страницы

Java Dev Notes - разработка на Java (а также на JavaScript/Python/Flex и др), факты, события из АйТи

вторник, 30 ноября 2010 г.

Установка драйвера MySQL для Python (MySQLdb)

Понадобилось из скрипта на Python обращаться к БД на MySQL - задача стояла распарсить огромную кучу информации и положить результаты в какое-либо хранилище.

Скрипт, который скачивает и парсит данные, я написал на Python за несколько часов. В качестве хранилища была выбрана MySQL. Теперь нужно было найти драйвер мускула для питона. Драйвер называется MySQLdb и поддерживается сторонним разработчиком, а не фирмой MySQL. Дравер лежит по адресу http://pypi.python.org/pypi/MySQL-python. Я взял было последнюю версию драйвера (версия 1.2.3, в этой версии были только исходники) - и обломался, т.к. она никак не хотела компилиться у меня ни на Windows 7, ни на Windows XP (мне пришлось поставить setuptools и MinGW, чтобы поиметь на машине компилятор gcc). Также нужно, чтобы в файлах MySQL были заголовочные файлы (каталог include).

Тогда я решил поставить яйцо - т.е. egg-файл модуля. К сожалению, версия 1.2.3 поставляется только в исходниках, поэтому мне пришлось ставить яйцо версии 1.2.2 (это версия для MySQL 5.0). Egg-Файл можно скачать отсюда - http://pypi.python.org/pypi/MySQL-python/1.2.2 (MySQL_python-1.2.2-py2.5-win32.egg). Забыл добавить, что на машине у меня стоит версия Python 2.5.

Итак, скачав egg-файл, устанавливаем его командой easy_install:

easy_install MySQL_python-1.2.2-py2.5-win32.egg


Получаем вывод:

D:\temp>easy_install MySQL_python-1.2.2-py2.5-win32.egg
Processing MySQL_python-1.2.2-py2.5-win32.egg
Copying MySQL_python-1.2.2-py2.5-win32.egg to d:\python25\lib\site-packages
Adding MySQL-python 1.2.2 to easy-install.pth file

Installed d:\python25\lib\site-packages\mysql_python-1.2.2-py2.5-win32.egg
Processing dependencies for MySQL-python==1.2.2
Finished processing dependencies for MySQL-python==1.2.2


Чтобы работала команда easy_install, необходимо добавить в PATH %PY_HOME%/Scripts

P.S. Для версии Python 2.6 бинарники модуля можно скачать отсюда: MySQL-python Windows 64bit and 32bit distributions

UPDATE:

Для Ubuntu все намного проще. Установка MySQLdb:

sudo apt-get install python-mysqldb

1 комментарий:

  1. Я обычно в таких случаях просто делаю вывод в sql-скрипт. Но вообще полезная информация, если нужно что-то большее, чем сохранение данных, спасибо.

    ОтветитьУдалить

Постоянные читатели