2011-12-28 2 views
1

MySQL-Python (MySQLdb) - known to work with PyPy. Как сделать вы заставляете его работать?MySQL-Python с PyPy

Я попытался downloading it и установка:

C:\dev\Installs\MySQL-python\MySQL-python-1.2.3>pypy setup.py install 
Traceback (most recent call last): 
    File "app_main.py", line 51, in run_toplevel 
    File "setup.py", line 15, in <module> 
    metadata, options = get_config() 
    File "C:\dev\Installs\MySQL-python\MySQL-python-1.2.3\setup_windows.py", line 7, in get_config 
    serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key']) 
WindowsError: [Error 2] The system cannot find the file specified. 

Затем я попытался загрузить ctypes implementation, который, казалось, установили хорошо, однако пытаются использовать это дало:

... 
    File "C:\pypy-1.7\site-packages\django\db\backends\mysql\base.py", line 14, in <module> 
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) 
ImproperlyConfigured: Error loading MySQLdb module: Can't find a libmysqlclient 

Я в потеря в этот момент. Как мне заставить его работать

+0

О вашей первой ошибки: взгляните на все пути в site.cfg и setup.cfg для mysqldb. Некоторые из них имеют неправильные значения по умолчанию («(x86)», присутствующие в Windows 32bit, неправильные пути и т. Д.). Это или неправильная версия mysql. Если вы его работаете определенно, дайте мне знать, как причина, насколько я знаю, pypy + MySQLdb по-прежнему не работает из окна на окнах. – fastmultiplication

ответ

1

Вы правы, как известно, исходный MySQLdb не работает на PyPy.

Я никогда не пытался установить mysql-ctypes на windows maschine, поскольку у меня его нет, но у вас есть libmysqlclient, установленный в вашем PATH?

Если это так, вы можете попробовать мою (к сожалению, не объединенную) вилку на https://github.com/EnTeQuAk/mysql-ctypes, которая поддерживает несколько больше версий libmysqlclient.

+0

Я пробовал вилку, и, к сожалению, у меня такая же ошибка. Я попробовал googling об этом 'libmysqlclient', но я не нашел ничего полезного. – Jonathan

2

Что касается вашего второго ошибки с MySQL-ctypes, ответ в том, что линия

ctypes.util.find_library('mysqlclient') 

не может найти библиотеку на окнах. Изменение его:

ctypes.util.find_library('mysqlclient.lib') 

работ по моей системе - но это только получает вас к следующей ошибке (окно ошибки 193) в моей системе.

0

У меня не было проблем с пакетом MySQLdb в pypy после его установки с помощью pip.

Вы можете найти инструкции по установке pip для pypy во второй секции по следующей ссылке: http://doc.pypy.org/en/latest/getting-started.html#installing-pypy

После того как вы pip установили, что это просто вопрос запуска

pip install MySQL-python