python MySQLdb Windows下安装教程及问题解决方法


Posted in Python onMay 09, 2015

使用python访问mysql,需要一系列安装

linux下MySQLdb安装见 
Python MySQLdb在Linux下的快速安装
https://3water.com/article/65743.htm

-------------------------------------------------------------
以下是windows环境下的:

1. 安装数据库mysql
下载地址:http://www.mysql.com/downloads/
可以顺带装个图形工具,我用的是MySQL-Front
 
2. 安装MySQLdb
 
好了,到了这一步,你有两个选择
A. 安装已编译好的版本(一分钟)
B. 从官网下,自己编译安装(介个…..半小时到半天不等,取决于你的系统环境以及RP)
 
若是系统32位的,有c++编译环境的,自认为RP不错的,可以选择自己编译安装,当然,遇到问题还是难免的,一步步搞还是能搞出来的
若是系统64位的,啥都木有的,建议下编译版本的,甭折腾
 
2.1安装已编译版本:
http://www.codegood.com/downloads
根据自己系统下载,双击安装,搞定
然后import MySQLdb,查看是否成功
 
我的,win7,64位,2.7版本

MySQL-python-1.2.3.win-amd64-py2.7.exe
 
2.2自己编译安装
话说搞现成的和自己编译差距不一一点半点的,特别是64位win7,搞死了
 
2.2.1安装setuptools

在安装MySQLdb之前必须安装setuptools,要不然会出现编译错误
http://pypi.python.org/pypi/setuptools
http://peak.telecommunity.com/dist/ez_setup.py 使用这个安装(64位系统必须用这个)
 
2.2.2安装MySQLdb

下载MySQLdb
http://sourceforge.net/projects/mysql-python/
 
解压后,cmd进入对应文件夹
如果32位系统且有gcc编译环境,直接

python setup.py build

2.2.3问题汇总
A. 64位系统,无法读取注册表的问题
异常信息如下:

F:\devtools\MySQL-python-1.2.3>pythonsetup.py build

Traceback (most recent call last):

 File "setup.py", line 15, in <module>

   metadata, options = get_config()

 File "F:\devtools\MySQL-python-1.2.3\setup_windows.py", line7, in get_config

   serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options[' registry_ke

y'] )

WindowsError: [Error 2] The system cannotfind the file specified

解决方法:
其实分析代码,发现只是寻找mysql的安装地址而已  修改setup_windows.py如下
注解两行,加入一行,为第一步mysql的安装位置
   #serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,options['registry_key'] )

   #mysql_root, dummy = _winreg.QueryValueEx(serverKey,'Location')

   mysql_root = r"F:\devtools\MySQL\MySQL Server 5.5"

B.没有gcc编译环境
unable to find vcvarsall.bat

解决方法:安装编译环境(一个老外的帖子)
1)  First ofall download MinGW. Youneed g++compiler and MingW make in setup.
2)  If youinstalled MinGW for example to “C:\MinGW” then add “C:\MinGW\bin”to your PATH in Windows.(安装路径加入环境变量)
3)  Now startyour Command Prompt and go the directory where you have your setup.py residing.
4)  Last andmost important step:
setup.py install build --compiler=mingw32
或者在setup.cfg中加入:
[build]

    compiler = mingw32

 

C.gcc: /Zl: No suchfile or directory错误

异常信息如下

F:\devtools\MinGW\bin\gcc.exe -mno-cygwin-mdll -O -Wall -Dversion_info=(1,2,3,'

final',0) -D__version__=1.2.3"-IF:\devtools\MySQL\MySQL Server 5.5\include" -IC

:\Python27\include -IC:\Python27\PC -c_mysql.c -o build\temp.win-amd64-2.7\Rele

ase\_mysql.o /Zl

gcc: error: /Zl: No such file or directory

error: command 'gcc' failed with exitstatus 1

参数是vc特有的编译参数,如果使用mingw的话因为是gcc所以不支持。可以在setup_windows.py中去掉
/Zl
 
解决方法:
修改setup_windows.py  改为空的
#extra_compile_args = [ '/Zl' ]

    extra_compile_args = [ '' ]

 目前就遇到这几个问题,望补充
 
3.  增删改查代码示例及结果(just for test)
CREATE TABLE `user` (  

  `Id` int(11) NOT NULL AUTO_INCREMENT,  

  `name` varchar(255) DEFAULT NULL,  

  `age` varchar(255) DEFAULT NULL,  

  PRIMARY KEY (`Id`)  

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; 

#-*- coding:utf-8 -*-  

#dbtest.py  

#just used for a mysql test  

''''' 

Created on 2012-2-12 

 

@author: ken 

'''  

#mysqldb      

import time, MySQLdb, sys    

         

#connect   

conn=MySQLdb.connect(host="localhost",user="root",passwd="test_pwd",db="school",charset="utf8")    

cursor = conn.cursor()      

         

#add  

sql = "insert into user(name,age) values(%s,%s)"     

param = ("tom",str(20))      

n = cursor.execute(sql,param)      

print n      

         

#更新      

sql = "update user set name=%s where Id=9001"     

param = ("ken")      

n = cursor.execute(sql,param)      

print n      

  

#查询      

n = cursor.execute("select * from user")      

for row in cursor.fetchall():      

    for r in row:      

        print r,     

print ""  

  

  

#删除      

sql = "delete from user where name=%s"     

param =("ted")      

n = cursor.execute(sql,param)      

print n      

cursor.close()      

         

#关闭      

conn.close() 
Python 相关文章推荐
python自动格式化json文件的方法
Mar 11 Python
matplotlib作图添加表格实例代码
Jan 23 Python
详解Python之unittest单元测试代码
Jan 24 Python
解决已经安装requests,却依然提示No module named requests问题
May 18 Python
对python遍历文件夹中的所有jpg文件的实例详解
Dec 08 Python
pycharm打开命令行或Terminal的方法
Jan 16 Python
python中dict使用方法详解
Jul 17 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
Feb 24 Python
Python decorator拦截器代码实例解析
Apr 04 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 Python
Python语言中的数据类型-序列
Feb 24 Python
Python MySQLdb Linux下安装笔记
May 09 #Python
python实现类的静态变量用法实例
May 08 #Python
python使用pil生成图片验证码的方法
May 08 #Python
python实现连接mongodb的方法
May 08 #Python
python写入xml文件的方法
May 08 #Python
python从sqlite读取并显示数据的方法
May 08 #Python
python创建一个最简单http webserver服务器的方法
May 08 #Python
You might like
PHP新手上路(六)
2006/10/09 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
异步加载script的代码
2011/01/12 Javascript
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
javascript中的window.location.search方法简介
2013/09/02 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
微信小程序 template模板详解及实例代码
2017/03/09 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
2018/09/26 Javascript
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
Python编程之string相关操作实例详解
2017/07/22 Python
彻底理解Python list切片原理
2017/10/27 Python
Python实现的选择排序算法原理与用法实例分析
2017/11/22 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
tensorflow实现测试时读取任意指定的check point的网络参数
2020/01/21 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
自荐信格式的六要素
2013/09/21 职场文书
最受欢迎的自我评价
2013/12/22 职场文书
生日宴会答谢词
2014/01/09 职场文书
项目合作协议书范本
2014/04/16 职场文书
助理政工师申报材料
2014/06/03 职场文书
单位法定代表人授权委托书
2014/09/20 职场文书
小学生表扬稿范文
2015/05/05 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
python脚本框架webpy模板赋值实现
2021/11/20 Python
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫