Интеграция MySQL с Python в Windows - PullRequest
100 голосов
/ 14 марта 2009

Мне трудно использовать 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 ]

126 голосов
/ 11 мая 2009

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

Существует также обсуждение вопроса об исключении предупреждения об устаревании .

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

pip install pymysql
30 голосов
/ 14 июля 2010

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

15 голосов
/ 03 мая 2009

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

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

  2. Установить MySQL 5.1. Загрузите MSI 97,6 МБ с здесь Вы не можете использовать базовую версию, поскольку она не содержит библиотек C.
    Обязательно выберите выборочную установку и отметьте средства / библиотеки разработки для установки, так как это не выполняется по умолчанию. Это необходимо для получения заголовочных файлов на языке C.
    Вы можете убедиться, что сделали это правильно, посмотрев в каталоге установки папку с именем «include». E.G 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 install

    Ты должен быть готов к рок-музыке!

  6. Здесь - это очень простой сценарий, с которого можно начать изучение API Python DB для вас - если вам это нужно.

7 голосов
/ 15 марта 2009

Я нашел место, где один человек успешно создал 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

5 голосов
/ 29 ноября 2010

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

2 голосов
/ 28 мая 2015

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

2 голосов
/ 27 мая 2015

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

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

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

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

Удачи

2 голосов
/ 14 марта 2009
2 голосов
/ 14 марта 2009

Вы не единственный, у кого проблемы с 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/ Удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...