下载与安装
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 2008, 11: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 “”, line 1, in
File “C:\Python26\Lib\site-packages\MySQLdb\__init__.py”, line 19, in
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下,链接在下面,你也可以谷歌一下:
libguide40.dll.zip
libmmd.dll.zip
2.被弃用的set模块,这个只是个警告,也可以不改
C:\Python26>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
C:\Python26\lib\site-packages\MySQLdb\__init__.py:34: DeprecationWarning: the sets module is deprecated
from sets import ImmutableSet
解决办法:要是每回都跳出来,那多不爽啊,set模块现在已经是内建的数据类型了,ImmutableSet现在成了frozenset。因此需要改成:
下面几个文件都在:F:\Python26\Lib\site-packages\MySQLdb目录下
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 45: return set([ i for i in s.split(',') if i ])
line 129: set: Set2Str,
最新消息,你可以去这里下载没有任何问题的MySQLdb,国外的大牛所作:
MySQL-python Windows 64bit and 32bit distributions