2009-11-20 4 views
1

나는 윈도우 XP에서 MySQL 서버 5.1와 통신하는 파이썬 2.6을 얻으려고 아래에 실패,하지만 난 이상한 오류가, "NULL 개체가 Py_BuildValue에 전달 SystemError을"유지파이썬/MySQL은 윈도우

>>> import MySQLdb as mysql 
>>> db = mysql.connect(user = "root", passwd="whatever", db="mysql", host="localh 
ost") 
>>> cu = db.cursor() 
>>> cu.execute("show tables") 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\dirr\lib\site-packages\MySQLdb\cursors.py", line 173, in execu 
te 
    self.errorhandler(self, exc, value) 
    File "C:\ dirr\lib\site-packages\MySQLdb\connections.py", line 36, in de 
faulterrorhandler 
    raise errorclass, errorvalue 
SystemError: NULL object passed to Py_BuildValue 

문자 집합 문제 일 수 있다고 생각했지만 MySQL을 UTF-8로 설정하고 설정하려고 시도했지만 차이가 없습니다.

python-mysql에 문제가있는 것 같습니다. 누구든지 도와 줄 수 있습니까?


업데이트

OK는 파이썬 MySQL은 윈도우 아래가 보인다 특히 파이썬 2.6, 악몽의 비트이다. pip로 python-mysql을 설치하는 대신 this installer을 대신 사용하십시오. 그것은 그것을 고쳤다.

답변

1

C로 작성된 MySQLdb 부분에 이상이 있습니다. 오류 메시지에 따르면 객체에 대한 포인터가 예상되는 곳에 NULL을 전달하려고합니다. 깨진 빌드를 사용하지 않는 한 MySQLdb의 버그 일 것입니다. 어떤 버전을 사용하고 있습니까? 정확하게 Python 버전을위한 MySQLdb의 최신 안정 버전을 다운로드하고 다시 설치하십시오. 이전 버전을 설치하십시오. 최신 버전이 작동하지 않으면 버그 보고서를 작성하십시오.

Thisthis 보고서는 아마도 오류 일 수 있습니다. 그들에 따르면 mysql은 MySQLdb에서 버그를 일으키는 오류를 리턴한다. 불행히도이 오류가 무엇인지 알아내는 것은 쉽지 않습니다.