Python安装MySQL库详解(解决Microsoft Visual C++ 9.0 is required )

前面我们介绍的Python网络爬虫通常将抓取的数据存储至TXT或CSV文件,而当数据量增加之时,就需要将其存储至本地数据库了。Python访问数据库需要对应的接口程序,我们可以把接口程序理解为Python的一个模块,它提供了数据库客户端的接口供您访问。本文主要讲述Python操作MySQL数据库,通过调用MySQLdb扩展包实现。而在安装过程中会遇到各种各样的错误,这里给出安装MySQL库的详细步骤及错误的解决方法。

第一步:安装Python程序

首先安装Python编程环境python-2.7.8.amd64.msi,如下图所示:

默认安装在C:\python27路径,接下来我需要安装pip工具。

第二步:安装pip工具

pip是一个现代的、通用的Python包管理工具,提供了对Python包(Package)的查找、下载、安装及卸载功能。Python可以通过easy_install或者pip命令安装各种各样的包,其中easy_insall提供了“傻瓜式”的在线一键安装模块的方式,而pip是easy_install的改进版,提供更好的提示信息以及下载、卸载Python包等功能,常见用法如下表所示。

在官网 http://pypi.python.org/pypi/pip#downloads 可以下载pip软件,这里我直接双击“get-pip.py”文件进行安装,如下图所示,该文件下载地址。

安装成功之后,在Python27文件夹下生成一个Scripts文件夹,包含了pip和easy_install工具,如下图所示,我们可以调用"pip install xxx"命令安装扩展包。

第三步:安装本地MySQL数据库

接下来安装本地MySQL数据库,这里下载mysql-5.0.96-winx64安装,如下图所示:

第四步:调用pip工具安装MySQL库报错

接下来调用打开cmd命令行,去到"C:\python27\Scripts"路径安装mysql库。 C:\Users\yxz>cd.. C:\Users>cd.. C:\>cd C:\Python27\Scripts C:\Python27\Scripts>pip install mysql

但此时报错如下: error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27 Command "C:\Python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users

这是驱动问题,这里我下载VCForPython27.msi软件安装。

第五步:安装VCForPython27.msi

双击软件即可安装,如下图所示:

安装过程如下图所示:

安装成功之后,再调用"pip install mysql"命令安装扩展包,此时报错: _mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory error: command 'C:\\Users\\yxz\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2

其原因是安装MySQL时没有安装C语言库。一方面可以重新运行MySQL的安装程序,选择Modify,把“C Include Files / Lib Files”勾选上,并安装;另一方面,还是驱动问题,安装MySQL-python-1.2.3.win-amd64-py2.7.exe文件即可。

第六步:安装MySQL-python软件

下载一个MySQL-python-1.2.3.win-amd64-py2.7.exe文件进行安装,如下图所示: 官网地址:https://pypi.python.org/pypi/MySQL-python/ 下载地址:http://download.csdn.net/detail/eastmount/9598651

安装过程如下图所示:

第七步:pip install mysql安装MySQL库

接下来可以成功安装MySQL数据库,如下图所示:

C:\Python27\Scripts>pip install mysqlCollecting mysqlUsing cached https://files.pythonhosted.org/packages/06/ef/c4efbf2a51fb46aba9be03a973638d9539c9ca10a5259b2cbb1a66133b2e/mysql-0.0.1.tar.gzRequirement already satisfied: MySQL-python in c:\python27\lib\site-packages (from mysql) (1.2.3)Installing collected packages: mysqlRunning setup.py install for mysql ... doneSuccessfully installed mysql-0.0.1C:\Python27\Scripts>

最后测试MySQL库代码,注意导入MySQLdb库,再进行使用。 详见前文:[python] 专题九.Mysql数据库编程基础知识

import MySQLdbtry:conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306)cur=conn.cursor()res = cur.execute('show databases')print resfor data in cur.fetchall():print '%s' % datacur.close()conn.close()except MySQLdb.Error,e:print "Mysql Error %d: %s" % (e.args[0], e.args[1])

输出结果如下图所示:

杨秀璋

本科:北京理工大学-软件学院

硕士:北京理工大学-软件学院

工作:贵州财经大学-信息学院

副业:博客写者、程序员

爱好:教学、科研、项目、分享

人生格言:无知·乐观·谦逊·低调·生活,很幸运能成为一名教师,更幸运的是能从事家乡那边的教育事业,尽力而为。

自幼受贵州大山的熏陶,养成了诚实质朴的性格。经过寒窗苦读,考入BIT,为完成自己的教师梦,放弃IT、航天等工作,成为贵财一名大学教师,并想把自己所学所感真心传授给自己的学生,帮助更多陌生人。

贵州纵美路迢迢,

为负劳心此一遭。

收得破书三四本,

也堪将去教尔曹。

新书:

《Python网络数据爬取及分析从入门到精通(爬取篇)》 《Python网络数据爬取及分析从入门到精通(分析篇)》

本文作者新书上架

·END·

本文分享自微信公众号 - 机器学习与统计学(tjxj666)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Crossin的编程教室

【每周一坑】疯狂的小母牛 +【解答】数据库

有一头母牛,它每年年初生一头小母牛。每头小母牛从第 4 个年头开始,每年年初也生一头小母牛。(别问我公牛上哪去了……)请编程实现计算在第 n 年的时候,共有多少...

14810
来自专栏AI科技大本营的专栏

优秀开发者必备技能包:Python调试器

不管是之前搞 acm 用 c/c++ 写算法还是后来用 Python 写代码,我发现在程序出现问题的时候,大多数人习惯性的用 print 函数打印变量值这种方法...

15910
来自专栏人工智能头条

Python 深度学习

本书由 Keras 之父、现任 Google 人工智能研究员的弗朗索瓦 · 肖莱(Francois Chollet)执笔,详尽介绍了用 Python 和 Ker...

18820
来自专栏人工智能头条

Python 神经网络编程

本书将带领您进行一场妙趣横生却又有条不紊的旅行——从一个非常简单的想法开始,逐步理解神经网络的工作机制。您无需任何超出中学范围的数学知识,并且本书还给出易于理解...

12710
来自专栏Crossin的编程教室

为了边看美剧边学英语,我写了个字幕处理脚本

)都有这样一个梦想:能够一边轻松愉快地看着美剧,一边自己的英语听力水平还能蹭蹭地往上涨。知乎上也有很多人分享了自己通过美剧练习听力的方法,比如说只开英文字幕或者...

26720
来自专栏AI科技大本营的专栏

访问量最高超7百万的Stack Overflow问题竟然是...

Stack Overflow,一个面向开发者的 IT 技术问答网站,很多程序员都会在上面提问,浏览问题,查找技术知识。在 Top Question 页面,我们可...

7720
来自专栏AI科技大本营的专栏

Python之父重回决策层,未来如何发展?

春节假期结束了,大家陆续地重回到原来的生活轨道上。假期是一个很好的休息与调节的机会,同时,春节还有辞旧迎新的本意,它是新的轮回的开端。

12330
来自专栏AI科技大本营的专栏

给老婆写个Python教程

code就是一种语言,一种计算机能读懂的语言。计算机是一个傻逼,他理解不了默认两可的任何东西。比如,你让你老公去买个西瓜,你老公会自己决定去哪里买,买几个,找个...

12130
来自专栏云霄雨霁

Python中使用SQLite

SQLite是一种数据库,Python中集成了SQLite3,所以在Python中使用SQLite,可以直接导入SQLite包,不需要做额外的配置。

27520
来自专栏AI科技大本营的专栏

爬一爬那些年你硬盘存过的“老师”

最近在Github发现一个基于google浏览器的爬虫项目,此项目是由美国大神2018年开源的。这个开源项目不需要使用者再去手写核心爬虫,只需要下载安装,然后传...

15530

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励