Найти - Пользователи
Полная версия: Python 2.7 + MySQL на Windows XP
Начало » Базы данных » Python 2.7 + MySQL на Windows XP
1
Osanve
Здравствуйте.

Потребовалось организовать работу с MySQL на Python. Все это на базе Windows XP.

Попытка первая:
>>> conn = connect("DRIVER={MySQL ODBC 5.5 Driver}; SERVER=localhost; UID=root; PWD=1234")

Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
conn = connect("DRIVER={MySQL ODBC 5.5 Driver}; SERVER=localhost; UID=root; PWD=1234")
Error: ('IM002', '[IM002] [Microsoft][\xc4\xe8\xf1\xef\xe5\xf2\xf7\xe5\xf0 \xe4\xf0\xe0\xe9\xe2\xe5\xf0\xee\xe2 ODBC] \xc8\xf1\xf2\xee\xf7\xed\xe8\xea \xe4\xe0\xed\xed\xfb\xf5 \xed\xe5 \xed\xe0\xe9\xe4\xe5\xed \xe8 \xed\xe5 \xf3\xea\xe0\xe7\xe0\xed \xe4\xf0\xe0\xe9\xe2\xe5\xf0, \xe8\xf1\xef\xee\xeb\xfc\xe7\xf3\xe5\xec\xfb\xe9 \xef\xee \xf3\xec\xee\xeb\xf7\xe0\xed\xe8\xfe (0) (SQLDriverConnectW)')
Потом увидел еще один вариант (попытка вторая):
>>> conn = connect(driver="MySQL ODBC 5.5 Driver", server="localhost", uid="root", pwd="1234")

Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
conn = connect(driver="MySQL ODBC 5.5 Driver", server="localhost", uid="root", pwd="1234")
Error: ('IM002', '[IM002] [Microsoft][\xc4\xe8\xf1\xef\xe5\xf2\xf7\xe5\xf0 \xe4\xf0\xe0\xe9\xe2\xe5\xf0\xee\xe2 ODBC] \xc8\xf1\xf2\xee\xf7\xed\xe8\xea \xe4\xe0\xed\xed\xfb\xf5 \xed\xe5 \xed\xe0\xe9\xe4\xe5\xed \xe8 \xed\xe5 \xf3\xea\xe0\xe7\xe0\xed \xe4\xf0\xe0\xe9\xe2\xe5\xf0, \xe8\xf1\xef\xee\xeb\xfc\xe7\xf3\xe5\xec\xfb\xe9 \xef\xee \xf3\xec\xee\xeb\xf7\xe0\xed\xe8\xfe (0) (SQLDriverConnectW)')
На StackOverflow советуют забить на pyodbc и использовать MySQL-Python.
Но в этом случае получается следующее:
C:\Documents and Settings\Osanve\Рабочий стол\mysql-python>C:\Python27\python setup.py install
Traceback (most recent call last):
File "setup.py", line 15, in <module>
metadata, options = get_config()
File "C:\Documents and Settings\Osanve\Рабочий стол\mysql-python\setup_windows.py", line 7, in get_config
serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key'])
WindowsError: [Error 2]
Что я делаю не так?

Заранее спасибо.
Nik
На StackOverflow советуют забить на pyodbc
Я уже на 3-й версии его использую и никаких проблем…
s = "DRIVER={MySQL ODBC 5.1 driver};SERVER=localhost;UID=root;PWD=;DATABASE=test;CHARSET=utf8"
con = pyodbc.connect(s, autocommit=True, unicode_results=True)
driver скачивать отсюда http://www.mysql.com/downloads/connector/odbc/

MySQL-Python скачивать отсюда http://www.codegood.com/
Osanve
Благодарю. Заработало сразу как установил MySQL-Python, представленный по ссылке. Драйвер скачивать не пришлось.
vaukalak
Пробовал поставить, выдает “python 2.7 is required not found in registry”, на компъютере стоит 3.2, разве вместе не могут работать?
Nik
Либо ставьте python 2.7, либо устанавливайте pyodbc для python 3.2.

Есть еще неофициальная сборка MySQL-Python для python 3.2 (работоспособность не проверял)
http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
cpu
vaukalak
> C:\Documents and Settings\Osanve\Рабочий стол\mysql-python\setup_windows.py

Под виндой питона не гонял, но подозреваю, что ошибка может быть вот здесь : “Рабочий стол”. Многие иностранные программы вод винду не слишком проверяются на работоспособность не под английской локалью. Попробуйте изменить путь.

> Пробовал поставить, выдает “python 2.7 is required not found in registry”, на компъютере стоит 3.2, разве вместе не могут работать?

Думаю, могут. для этого их надо при установке рассовать в разные папки и создать для файлов *.py и *.pyc пункты для запуска в разных версиях питона.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB