加载中…
个人资料
渔婆的愚公
渔婆的愚公
  • 博客等级:
  • 博客积分:0
  • 博客访问:99,875
  • 关注人气:14
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

python 2.6 下安装MySQLdb 问题以及解决方案

(2012-11-19 17:09:04)
标签:

mysql

python2.6

it

分类: python
最近要使用数据库,师兄推荐使用MySQL,然后就像在python 2.6下安装MySQLdb的包,遇到python版本低导致的问题,主要是在2.6.X版本的sets模块的缺失,但是相应的MySQLdb却是还没有做相应的修改。在网上找了好多资料,都说是把网络上下载的libmmd.dll,libguide40.dll以及mysql安装目录的bin\libmySQL.dll文件复制到python安装目录的Lib\site-packages下即可解决(后来才知道不是复制到这里,请参考http://blog.csdn.net/zhangxh1013/article/details/7162130,但现在我已经不需要了),但不知为什么我这里就是不行,所以感慨到网络上的一些帖子都是天下文章一般抄,没有说明自己适用的情形,给读者带来了极大的误导(我就为此浪费了很多时间和付出了一天的折磨),呼吁大家要尊重知识,不要随便发垃圾帖子(比如 http://wangnn09.blog.163.com/blog/static/13625087320113214516649/)。
在利用上述方法无果后,又耐心的搜索网络,成功的解决了问题:
1.在网络上http://www.codegood.com/archives/4下载“MySQL-python-1.2.2.win32-py2.6.exe (1,022.8 KiB)模块安装文件。载入模块(import MySQLdb)的时候遇到的问题是(但至少说明了你的模块已经存在了,只是在有些地方出了问题,下面会做一些处理):
Traceback (most recent call last):
  File "", line 1, in
    import MySQLdb
  File "C:\Python26\Lib\site-packages\MySQLdb\__init__.py", line 34, in
    from sets import ImmutableSet
  File "C:\Python26\lib\sets.py", line 85, in
    stacklevel=2)
  File "C:\Python26\lib\warnings.py", line 29, in _show_warning
    file.write(formatwarning(message, category, filename, lineno, line))
TypeError: idle_formatwarning_subproc() takes exactly 4 arguments (5 given)

2. 在文件 "__init__" 中将:
from sets import ImmutableSet 
class DBAPISet(ImmutableSet): 
修改为
class DBAPISet(frozenset):

3.实际上这时候已经可以顺利导入MySQLdb了,但是为了以后使用的顺利,还需要做一些修改
在文件 "converters.py"中移除:
from sets import BaseSet, Set
在文件 "converters.py", 把 "Set" 改为 "set" (重要提示: 只有2个地方要改):
line 45: return set([ i for i in s.split(',') if i ])
line 129: set: Set2Str,

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有