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 合并文件的具体实例
Aug 08 Python
Python实例之wxpython中Frame使用方法
Jun 09 Python
分析Python编程时利用wxPython来支持多线程的方法
Apr 07 Python
Python守护进程用法实例分析
Jun 04 Python
python timestamp和datetime之间转换详解
Dec 11 Python
python获取服务器响应cookie的实例
Dec 28 Python
了解不常见但是实用的Python技巧
May 23 Python
pytorch 自定义数据集加载方法
Aug 18 Python
python通过SSH登陆linux并操作的实现
Oct 10 Python
Django REST框架创建一个简单的Api实例讲解
Nov 05 Python
Python解压 rar、zip、tar文件的方法
Nov 19 Python
Python Tkinter实例——模拟掷骰子
Oct 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笔记之:日期函数的使用介绍
2013/04/24 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
PHP+Ajax验证码验证用户登录
2016/07/20 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
JS随机漂浮广告代码具体实例
2013/11/19 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
JS实现漂亮的时间选择框效果
2016/08/20 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
小程序根据手机机型设置自定义底部导航距离
2019/06/04 Javascript
微信小程序中的上拉、下拉菜单功能
2020/03/13 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
python测试驱动开发实例
2014/10/08 Python
Python的Tornado框架实现图片上传及图片大小修改功能
2016/06/30 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
Python如何实现邮件功能
2020/05/27 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
总裁岗位职责
2013/12/04 职场文书
物流管理毕业生自荐信范文
2014/03/15 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
2014年幼儿园小班工作总结
2014/12/04 职场文书
医德医风学习心得体会
2016/01/25 职场文书
python 制作一个gui界面的翻译工具
2021/05/14 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python