python2.6使用mysql包出现的一些问题以及解决办法

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
我的操作系统是win7 64bit,平时一直用的是python2.5.4的版本,因为今天需要用到python读取mysql数据库,不过网络上没有支持python2.5.4的64bit mysql包版本。所以换了python2.6,反正只是临时解决方案,写完程序之后还会换回来的。然后在使用过程中遇到一些问题。

先列一下软件下载的地址
python2.6 64bit下载: http://www.python.org/ftp/python/2.6/python-2.6.amd64.msi
MySQL-python-1.2.2.win-amd64-py2.6: http://www.codegood.com/download/3/


先后安装完毕之后,先打开IDEL准备测试一下
import MySQLdb

import MySQLdb

Traceback (most recent call last):
    File  "<pyshell#0>", line 1, in <module>
         import MySQLdb
    File  "C:\Python26\Lib\site-packages\MySQLdb\__init__.py", line 34, in <module>
        from sets  import ImmutableSet
    File  "C:\Python26\Lib\sets.py", line 85, in <module>
        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)

居然连导入包都不能...... 太扯淡了,第一时间搜索了一下,得到解决方案.
解决办法来源:http://flo.nigsch.com/?p=62

修改 \Python26\Lib\site-packages\MySQLdb\__init__.py
第34行
#注释这一条语句 from sets  import ImmutableSet
#添加以下语句.
ImmutableSet = frozenset

在第四十行添加一条
BaseSet = set


保存完毕,OK,测试一下
#!/usr/bin/env python
#coding=utf-8
import MySQLdb

conn = MySQLdb.connect (host =  "localhost",
                                             user =  "root",
                                             passwd =  "root",
                                             db =  "test")
cursor = conn.cursor ()
cursor.execute ( "SELECT VERSION()")
row = cursor.fetchone ()
print  "server version:", row[0]
cursor.close ()
conn.close ()


运行结果,一切正常,开始工作了,等写完测试程序后再来研究这个bug究竟是怎么回事.
C:\Python26\lib\site-packages\MySQLdb\converters.py:37: DeprecationWarning: the
sets module is deprecated
    from sets  import BaseSet, Set
server version: 5.0.67-community-nt
本文转自阿汐 51CTO博客,原文链接:http://blog.51cto.com/axiii/340455,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
112 1
|
30天前
|
XML 关系型数据库 MySQL
python将word(doc或docx)的内容导入mysql数据库
用python先把doc文件转换成docx文件(这一步也可以不要后续会说明),然后读取docx的文件并另存为htm格式的文件(上一步可以直接把doc文件另存为htm),python根据bs4获取p标签里的内容,如果段落中有图片则保存图片。(图片在word文档中的位置可以很好的还原到生成的数据库内容) 我见网上有把docx压缩后解压获取图片的,然后根据在根据xml来读取图片的位置,我觉得比较繁琐。用docx模块读取段落的时候还需要是不是判断段落中有分页等,然而转成htm之后就不用判断那么多直接判断段落里的样式或者图片等就可以了。
21 1
|
1月前
|
关系型数据库 MySQL 数据库连接
关于MySQL-ODBC的zip包安装方法
关于MySQL-ODBC的zip包安装方法
|
1月前
|
SQL 关系型数据库 MySQL
Python怎么操作Mysql数据库
Python怎么操作Mysql数据库
49 0
|
1月前
|
SQL 关系型数据库 MySQL
python如何操作mysql数据库
python如何操作mysql数据库
24 0
|
30天前
|
SQL 关系型数据库 MySQL
python在mysql中插入或者更新null空值
这段代码是Python操作MySQL数据库的示例。它执行SQL查询从表`a_kuakao_school`中选取`id`,`university_id`和`grade`,当`university_id`大于0时按升序排列。然后遍历结果,根据`row[4]`的值决定`grade`是否为`NULL`。若不为空,`grade`被格式化为字符串;否则,设为`NULL`。接着构造UPDATE语句更新`university`表中对应`id`的`grade`值,并提交事务。重要的是,字符串`NULL`不应加引号,否则更新会失败。
19 2
|
5天前
|
Python
python学习14-模块与包
python学习14-模块与包
|
7天前
|
Python
掌握Python导包技艺:揭秘导包语句的奥秘
掌握Python导包技艺:揭秘导包语句的奥秘
17 0
|
10天前
|
SQL 关系型数据库 MySQL
mysql主从同步出错解决办法
mysql主从同步出错解决办法
7 0
|
1月前
|
NoSQL Java 应用服务中间件
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包