我正在尝试让Python 2.6在Windows XP下与MySQL Server 5.1进行通信,但我不断收到一个奇怪的错误,“SystemError:NULL对象传递给Py_BuildValue”:
>>> 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肯定存在问题。有人可以帮忙吗?
更新
好吧,windows下的python-mysql有点像噩梦,特别是Python 2.6似乎。而不是使用pip安装python-mysql,而是使用this installer。修好了。