Windows+Python2.6下安装MySQLdb驱动

下载与安装

Python中使用MySQL需要安装MySQLdb驱动,可以从官方站点下载:

http://sourceforge.net/projects/mysql-python/

目前支持最高Python版本号2.6,MySQL版本号5.1,详细描述如下:

MySQL support for Python. MySQL versions 3.23-5.1;and Python versions 2.3-2.6 are supported.

MySQLdb is the Python DB API-2.0 interface.

_mysql is a low-level API similiar to the MySQL C API.

ZMySQLDA is a Database Adapter for Zope2.

Windows下可以安装二进制版本的MySQLdb。

目前版本: MySQL-python-1.2.2.win32-py2.6.exe
下载地址:http://home.netimperia.com/files/misc/MySQL-python-1.2.2.win32-py2.6.exe

 

常见问题:
1.ImportError: DLL load failed: 找不到指定的模块。

C:\Python26>python
Python 
2.6 (r26:66721, Oct  2 200811:35:03) [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 1in <module>
File “C:\Python26\Lib\site
-packages\MySQLdb\__init__.py”, line 19in <module>
import _mysql
ImportError: DLL load failed: 找不到指定的模块。

 

解决办法:我参考了 http://sourceforge.net/projects/mysql-python/forums/forum/70460/topic/2316047

 

需要下载libmmd.dll和libguide40.dll两个dll文件并复制到Python安装目录的Lib\site-packages下,链接在下面,你也可以谷歌一下:

libmmd.dll.zip 

 2.被弃用的set模块,这个只是个警告,也可以不改

C:\Python26>python
Python 
2.6 (r26:66721, Oct  2 200811:35:03) [MSC v.1500 32 bit (Intel)] on win32
Type “help”, “copyright”, “credits” 
or “license” for more information.
>>> import MySQLdb
C:\Python26\lib\site
-packages\MySQLdb\__init__.py:34: DeprecationWarning: the sets module is deprecated
from sets import ImmutableSet

 解决办法:要是每回都跳出来,那多不爽啊,set模块现在已经是内建的数据类型了,ImmutableSet现在成了frozenset。因此需要改成:

1) file “__init__”:
from sets import ImmutableSet
class DBAPISet(ImmutableSet):
改为
class DBAPISet(frozenset) :

2) file “converters.py”, 删除:
from sets import BaseSet, Set

3) file “converters.py”, 将 “Set”改为“set” (IMPORTANT: 共有两处):
line 
45return set([ i for i in s.split(','if i ])
line 
129: set: Set2Str,

 

最新消息,你可以去这里下载没有任何问题的MySQLdb,国外的大牛所作:


 

posted @ 2011-08-24 18:09  牛皮糖NewPtone  阅读(6087)  评论(0编辑  收藏  举报