Windows下安装python MySQLdb遇到的问题及解决方法


Posted in Python onMarch 16, 2017

片头语:因为工作需要,在CentOS上搭建环境MySQL+Python+MySQLdb,个人比较习惯使用Windows系统的操作习惯,对纯字符的OS暂时还不太习惯,所以,希望能在Windows系统上也搭建一个类似的环境,用于开发。下面介绍的是在Windows环境下编译MySQLdb的过程。补充一句:最近在网上搜索到一个MySQLdb的Windows安装包,使用起来会更方便一些,地址:http://www.codegood.com/archives/4

或者到 https://3water.com/softs/73369.html下载当然也可以到https://dev.mysql.com/downloads/connector/python/下载

mysql-connector-python是MySQL官网提供的专门连接python的驱动程序;使用起来很方便。文件里面有很多程序实例供参考。

手工编译MySQLdb的过程如下:

下面列举出上面需要用到的软件的下载地址:

 MySQL - http://www.mysql.com/  <个人使用的MySQL的版本:mysql-essential-5.1.53-win32.msi,也许您下载的时候已经有新的版本了。>

Python - http://www.python.org/  <个人使用的Python版本:python-2.6.6.msi>

MySQLdb - http://sourceforge.net/projects/mysql-python/  <个人使用的MySQLdb版本:MySQL-python-1.2.3.tar.gz>

 

1、安装MySQL,选择Custom,然后将“C Include Files / Lib Files”勾选上,如果使用Typical,则会出现问题(1),后面的配置也基本上都是默认选项,除了额外将"添加到系统路径"(Include Bin Directory in Windows PATH)这个复选框勾上。如果你对安装MySQL不是很清楚,可以从网上搜索一下,相关的文章很多,如下:http://rangyang163.blog.163.com/blog/static/37743758200881203744469/

2、安装Python,也基本上默认的选项,只是把安装路径稍微改了一下。Python的默认安装路径是"C:/Python26",个人习惯将其改为"C:/Program Files/Python26"

3、在安装MySQLdb之前必须安装setuptools,要不然会出现编译错误。

 

Setuptools - http://pypi.python.org/pypi/setuptools   <将滚动条向下拖,很快,就可以看到一串下载地址,个人使用的是:setuptools-0.6c11.win32-py2.6.exe,这是因为我使用的Python版本是2.66>

默认安装这个工具即可...

 

好了,可以正式开始安装MySQLdb了,我们下载的这个tar.gz是源码包,里面是没有安装程序的,需要先编译,再安装。<其实只要看看README就明白了。>

(1)将MySQL-python-1.2.3.tar.gz解压到当前目录下,会出现一个MySQL-python-1.2.3文件夹;

(2)WIN+R,打开运行对话框,输入cmd,打开MS-DOS,进入上面解压的那个文件夹;(前提是你得明白cd是什么命令 :-)....)

(3)输入setup.py build开始编译...<额外补充一点,在编译MySQLdb时需要C编译器,如果已经安装了MSVC,则直接编译即可。如果需要指定编译器,可以使用compiler开关。如--compiler=mingw32则使用GCC作为编译器,不过,前提是你需要安装相应的编译器,并配置好环境变量才行。>

我在编译过程中遇到以下问题:

1)问题: _mysql.c(34) : fatal error C1083: Cannot open include file: ‘config-win.h': No such file or directory
error: command ‘”C:/Program Files/Microsoft Visual Studio 9.0/VC/BIN/cl.exe”‘ failed with exit status 2

原因:原因是安装MySQL的时候没有安装C语言库。

解决:重新运行MySQL的安装程序,选择Modify,把“C Include Files / Lib Files”勾选上,并安装。

2)问题:Traceback (most recent call last):
  File "setup.py", line 15, in <module>
    metadata, options = get_config()
  File "C:/MySQL-python-1.2.3/setup_windows.py", line 7, in get_config
    serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, options['registry_key'])
WindowsError: [Error 2] The system cannot find the file specified

原因:MySQL for python 1.2.3仍然是在寻找MySQL5.0的版本

解决:1、打开目录下site.cfg文件,修改最后一行为“registry_key = SOFTWARE/MySQL AB/MySQL Server 5.1”
2、打开setup_windows.py文件,修改第七行为“serverKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, 'SOFTWARE/MySQL AB/MySQL Server 5.1')”

3)问题:build/temp.win32-2.7/Release/_mysql.pyd.manifest : general error c1010070: Failed to load and parse the manifest. The system cannot find the file specified.
error: command ‘mt.exe' failed with exit status 31

原因:路径发生变化?

解决:打开“你的PYTHON安装目录/Lib/distutils/msvc9compiler.py”文件,找到“ld_args.append('/MANIFESTFILE:' + temp_manifest)”这行代码,将其改为“ld_args.append('/MANIFEST')”

(4)当编译完成以后,就可以输入setup.py install了,现在终于大功告成了!

可以在DOS环境下输入以下命令进行测试:

C:/Users/Michael>python
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>>

这样就说明MySQLdb已经成功安装了!接下来,就可以学习Python+MySQLdb+MySQL了,祝你愉快!

Python 相关文章推荐
使用Python进行稳定可靠的文件操作详解
Dec 31 Python
Python中实现远程调用(RPC、RMI)简单例子
Apr 28 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 Python
Python数据结构与算法之完全树与最小堆实例
Dec 13 Python
PyTorch CNN实战之MNIST手写数字识别示例
May 29 Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 Python
Python图像处理之简单画板实现方法示例
Aug 30 Python
Python代码实现删除一个list里面重复元素的方法
Apr 02 Python
Python实现个人微信号自动监控告警的示例
Jul 03 Python
pytorch之ImageFolder使用详解
Jan 06 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 Python
Pygame Event事件模块的详细示例
Nov 17 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
Mar 16 #Python
python开发利器之ulipad的使用实践
Mar 16 #Python
离线安装Pyecharts的步骤以及依赖包流程
Apr 23 #Python
Python中%r和%s的详解及区别
Mar 16 #Python
Python 装饰器深入理解
Mar 16 #Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
Mar 16 #Python
Django卸载之后重新安装的方法
Mar 15 #Python
You might like
2020显卡排行榜天梯图 显卡天梯图2020年3月最新版
2020/04/02 数码科技
用PHP读注册表
2006/10/09 PHP
PHP防盗链的基本思想 防盗链的设置方法
2015/09/25 PHP
php打包压缩文件之ZipArchive方法用法分析
2016/04/30 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
jQuery实现的网页换肤效果示例
2016/09/20 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
three.js中文文档学习之创建场景
2017/11/20 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
JS实现多功能计算器
2020/10/28 Javascript
微信小程序自定义胶囊样式
2020/12/27 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
在Docker上开始部署Python应用的教程
2015/04/17 Python
python处理二进制数据的方法
2015/06/03 Python
浅谈Python NLP入门教程
2017/12/25 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
敬老院献爱心活动总结
2014/07/08 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
迎新生标语大全
2014/10/06 职场文书
同学聚会邀请函
2015/01/30 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
德劲DE1108畅想
2021/04/22 无线电
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python