Интеграция MySQL с Python в Windows

Мне трудно использовать MySQL с Python в моей системе Windows.

Я в настоящее время использую Python 2.6. Я попытался скомпилировать исходный код MySQL-python-1.2.3b1 (который должен работать на Python 2.6?), Используя предоставленные сценарии установки. Сценарий установки запускается и не сообщает об ошибках, но не генерирует модуль _mysql.

Я также попытался настроить MySQL для Python 2.5 безуспешно. Проблема с использованием 2.5 заключается в том, что Python 2.5 скомпилирован с Visual Studio 2003 (я установил его с помощью предоставленных двоичных файлов). У меня есть Visual Studio 2005 в моей системе Windows. Следовательно, setuptools не может генерировать модуль _mysql.

Любая помощь?

16 ответов

Страница загрузки для python-mysqldb. Страница содержит двоичные файлы для 32- и 64-разрядных версий Python 2.5, 2.6 и 2.7.

Есть также обсуждение избавления от предупреждения об устаревании.

ОБНОВЛЕНИЕ: Это старый ответ. В настоящее время я бы порекомендовал использовать PyMySQL. Это чистый python, поэтому он одинаково поддерживает все операционные системы, практически заменяет mysqldb и также работает с python 3. Лучший способ установить его - использовать pip. Вы можете установить его отсюда (больше инструкций здесь), а затем запустить:

pip install pymysql

Это может звучать так же, как ваш дедушка Гивин, но во всех ответах здесь не упоминается лучший способ: идите и установите ActivePython вместо двоичных файлов python.org для Windows. Я очень долго думал, почему разработка Python для Windows была такой лакомой, пока я не установил Python ActiveState. Я не связан с ними. Это простая истина. Напишите это на каждой стене: разработка Python для Windows = ActiveState! ты тогда просто pypm install mysql-python и все работает плавно. без компиляции оргия. нет странных ошибок. нет террора. Просто начните кодировать и выполнять настоящую работу через пять минут. Это единственный способ пойти на окнах. В самом деле.

Как новичок в Python, изучающий экосистему Python, я только что закончил.

  1. Инструкции по установке setuptools

  2. Установите MySQL 5.1. Загрузите MSI 97,6 МБ отсюда. Вы не можете использовать базовую версию, поскольку она не содержит библиотек C.
    Обязательно выберите выборочную установку и отметьте средства / библиотеки разработки для установки, так как это не выполняется по умолчанию. Это необходимо для получения заголовочных файлов Си.
    Вы можете убедиться, что сделали это правильно, посмотрев в каталоге установки папку с именем "include". EG C:\Program Files\MySQL\MySQL Server 5.1\include. Он должен иметь целую кучу файлов.h.

  3. Установите Microsoft Visual Studio C++ Express 2008 отсюда. Это необходимо для получения компилятора Си.

  4. Откройте командную строку как администратор (щелкните правой кнопкой мыши по ярлыку Cmd, а затем "запустите от имени администратора". Обязательно откройте новое окно после того, как вы установили эти вещи, иначе ваш путь не будет обновлен, а установка все равно не удастся.

  5. Из командной строки:

    easy_install -b C:\temp\sometempdir mysql-python

    Это не удастся - что нормально.

    Теперь откройте site.cfg в вашем временном каталоге C:\temp\sometempdir и измените настройку "registry_key" на:

    registry_key = ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \MySQL AB\MySQL Server 5.1

    Теперь CD в ваш временный каталог и:

    python setup.py clean

    Python setup.py установить

    Вы должны быть готовы к рок!

  6. Вот очень простой скрипт, с которого можно начать изучение API-интерфейса БД Python - если вам это нужно.

Я нашел место, где один человек успешно построил mysql для python2.6, поделился ссылкой, http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe

... вы можете увидеть предупреждение при импорте MySQLdb, что нормально и ничего не повредит,

C: \ Python26 \ lib \ site-packages \ MySQLdb__init __. Py:34: DeprecationWarning: модуль sets исключен из набора импорта ImmutableSet

А как насчет pymysql? Это чистый Python, и я использовал его на Windows с большим успехом, минуя трудности компиляции и установки mysql-python.

Предварительно скомпилированные двоичные файлы на http://www.lfd.uci.edu/~gohlke/pythonlibs/ просто работают для меня.

  1. открыто MySQL_python-1.2.5-cp27-none-win_amd64.whl файл с программой для извлечения zip.
  2. Скопируйте содержимое вC:\Python27\Lib\site-packages\

Вы можете попробовать использовать myPySQL. Это действительно легко использовать; нет компиляции для Windows, и даже если вам нужно скомпилировать ее по какой-либо причине, вам нужно только установить Python и Visual C (не mysql).

http://code.google.com/p/mypysql/

Удачи

На Python 3.4 я установил mysqlclient с http://www.lfd.uci.edu/~gohlke/pythonlibs/ с помощью pip install mysqlclient, и он работает.

Вы не единственный, у кого проблемы с Python 2.6 и MySQL ( http://blog.contriving.net/2009/03/04/using-python-26-mysql-on-windows-is-nearly-impossible/), Вот объяснение того, как он должен работать под Python 2.5 http://i.justrealized.com/2008/04/08/how-to-install-python-and-django-in-windows-vista/ Удачи

Поскольку я запускаю python в (pylons/pyramid) virtualenv, я не смог запустить бинарные установщики (полезно), связанные с ранее.

У меня были проблемы с выполнением шагов с ответом Вилли, но я решил, что проблема (вероятно) в том, что я запускаю установку Windows 7 x64, которая помещает ключ реестра для mysql в немного другое расположение, особенно в моем случае (примечание: я я использую версию 5.5) в: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server 5.5".

ОДНАКО, "HKEY_LOCAL_MACHINE\" не может быть включен в путь, иначе произойдет сбой.

Кроме того, мне пришлось сделать перезагрузку между шагами 3 и 4.

После проработки всего этого, IMO, было бы разумнее запустить всю среду разработки Python из Cygwin.

Если вы ищете Python 3.2, это лучшее решение, которое я нашел

Источник: http://wiki.python.org/moin/MySQL

Вы также можете использовать pyodbc с MySQL Connector/ODBC для использования MySQL в Windows. Unixodbc также доступен для совместимости кода в Linux. Pyodbc использует стандартный API Python DB 2.0, поэтому переключение между драйверами MySQL/PostgreSQL/SQLite/ODBC/JDBC и т. Д. Должно быть относительно безболезненным.

Вы можете также рассмотреть возможность использования Cygwin, в нем есть библиотеки Python mysql.

Проголосовал за ответ своего adadok, потому что он привел меня к установке для python 2.7, которая находится здесь: http://www.codegood.com/archives/129

Устали от проблем с установкой MySQLdb и попробовали вместо этого pymysql.

Простая настройка;

git clone https://github.com/petehunt/PyMySQL.git
python setup.py install

И API практически одинаковы.

Другие вопросы по тегам