python2.6连接mysql5.4
上一篇 /
下一篇 2011-05-04 15:05:47
/ 个人分类:python
参考“windows python2.6 django 开发环境搭建”
网址:http://blog.csdn.net/dskit/archive/2009/12/30/5106701.aspx
1.下载MySQL-python-1.2.2.win32-py2.6.exe
下载地址:http://home.netimperia.com/files/misc/MySQL-python-1.2.2.win32-py2.6.exe
参见:http://sourceforge.net/forum/forum.php?thread_id=2316047&forum_id=70460
安装到python的\Lib\site-packages目录下
2.下载:
libguide40.dll.zip(77.3 KB)
libmmd.dll.zip(169 KB)
libmySQL.dll.zip(861 KB)
将以上3个文件解压后,复制到python的\Lib\site-packages目录下,这3个文件在文档后的附件中。
3.修改python的\lib\site-packages\MySQLdb\目录下的__init__.py和converters.py文件,具体修改如下:
1) __init__.py 文件
将
from sets import ImmutableSet
class DBAPISet(ImmutableSet):
修改为:
class DBAPISet(frozenset) :
2)converters.py文件,去除:
from sets import BaseSet, Set
3)converters.py文件,将 Set 修改为 set (只有两处):
45 行: return set([ i for i in s.split(',') if i ])
129行: set: Set2Str,
注:行号可能根据安装的mysql-python-XX.exe的版本不同而有所不同。
一段简单的连接数据库程序:
'''
Created on 2011-5-4
@author: kortide
'''
# -*- coding: utf-8 -*-
# encoding=gbk
import sys
import MySQLdb
reload(sys)
sys.setdefaultencoding('utf-8')
def getdata ():
try:
conn = MySQLdb.connect(host='192.168.4.20', user='root', passwd='wl', db='agent', port=3306, charset='utf8')
try:
cur = conn.cursor()
sql = r'select * from members'
cur.execute(sql)
allPerson = cur.fetchall()
finally:
cur.close()
conn.close()
except Exception, e:
print 'abc', e
return
for rec in allPerson:
print rec[0],rec[1]
if __name__ == '__main__':
getdata()
注:如果没有第二步的复制3个文件,可能会遇到如下错误:
1.ImportError: DLL load failed: 找不到指定的模块。
—————————————————————————————————-
D:\Program Files\Python2.6>python
Python 2.6.1 (r261:67517, Dec 4 2008, 16:51:00) [MSC v.1500 32 bit (Intel)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import MySQLdb
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “D:\Program Files\Python2.6\Lib\site-packages\MySQLdb\__init__.py”, line 19, in <module>
import _mysql
ImportError: DLL load failed: 找不到指定的模块。
—————————————————————————————————-
解决方法:下载libmmd.dll(附件)和libguide40.dll(附件)两个dll文件并复制到python安装目录的Lib\site-packages下。
参见:http://sourceforge.net/forum/message.php?msg_id=5613887
2.ImportError: DLL load failed: 找不到指定的模块。
—————————————————————————————————-
D:\Program Files\Python2.6>python
Python 2.6 (r26:66721, Oct 2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import MySQLdb
D:\Program Files\Python2.6\lib\site-packages\MySQLdb\__init__.py:34: DeprecationWarning: the sets module is deprecated
from sets import ImmutableSet
—————————————————————————————————-
收藏
举报
TAG: