解决Python使用MySQL库时出现no module named mysqldb错误
一、安装MySQL-python包
MySQL-python包是一个用于Python与MySQL交互的库,在使用Python连接MySQL数据库时需要使用这个库,如果没有安装或者版本不正确,就会出现“no module named mysqldb”错误。
可以通过pip命令安装MySQL-python包。如果pip没有安装,需要先安装pip。
$ sudo apt-get install python-pip
$ pip install MySQL-python
如果使用的是Python3,则需要安装PyMySQL库。
$ pip install PyMySQL
二、安装MySQL Connector/Python驱动
MySQL Connector/Python是MySQL官方提供的Python驱动程序,可以视为Python程序与MySQL之间的桥梁,使用这个驱动程序可以轻松地在Python代码中设置和处理MySQL连接、执行SQL查询/语句、处理结果等。
官方网址:https://dev.mysql.com/downloads/connector/python/。
下载后的文件名为mysql-connector-python-xxx.tar.gz,解压后进入解压目录:
$ tar zxvf mysql-connector-python-xxx.tar.gz
$ cd mysql-connector-python-xxx
使用下面的命令来安装MySQL Connector/Python:
$ python setup.py install
三、检查Python版本与MySQL版本
如果以上两种方法都无法解决“no module named mysqldb”错误,那么很可能是Python版本和MySQL版本不兼容所致。在Python 3.x 中,MySQLdb 被 PyMySQL 和 mysqlclient 替代,因此可能会导致某些软件包找不到 MySQLdb 等常见错误。
运行下面的Python命令以查看Python版本:
$ python --version
运行下面的MySQL命令以查看MySQL版本:
$ mysql -V
确保Python版本与MySQL版本兼容。
四、安装其他依赖项
某些库可能需要其他软件包或库来正常工作。例如,在Ubuntu中,要使用MySQL Connector/Python,需要先安装libmysqlclient-dev软件包:
$ sudo apt-get install libmysqlclient-dev
五、代码示例
下面是一个示例程序,演示如何使用Python连接MySQL数据库:
import MySQLdb
# 打开数据库连接
db = MySQLdb.connect(host="localhost", user="root",
passwd="123456", db="testdb")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()
print "Database version : %s " % data
# 关闭数据库连接
db.close()
转:https://www.python100.com/html/59760.html