这几天有python访问数据库的需求,折腾了半天,终于搭建好了python访问mysql的环境。记录一下,以备后用。
1. 安装setuptools
不安装的话,后面安装mysql-python时会报错。
官网下载、解压、安装(setup命令可见其readme文档)。
下载地址:http://pypi.python.org/pypi/setuptools/
2. 安装mysql-python
a. 从http://sourceforge.net/projects/mysql-python/ 下载mysql-python源代码,解压。
b. 编译并安装
python setup.py build
python setup.py install
注意:安装要求机器上事先安装好setuptools,且存在mysql_config这个工具(查看机器mysql配置的小工具,mysql安装目录下有,mysql-connector目录下也有)。
3. 使用注意事项
在test.py文件中import MySQLdb后,可能出现如下错误:
这是由于MySQLdb模块最终需通过libmysqlclient.so访问mysql服务器,故linux下需配置LD_LIBRARY_PATH路径。此外,可能还要为libmysqlclient.so.xx.0.0设置符号链接(shell内置工具命令 ln -s,用法可用man查看)。
我的机器上配置符号链接如下(假设在./mysql_lib目录下):
测试脚本中,指定LD_LIBRARY_PATH路径,示例如下(设脚本名为run.sh):
#! /bin/bash
export LD_LIBRARY_PATH=./mysql_lib/:$LD_LIBRARY_PATH
python test.py
exit 0
其中,./mysql_lib是自建的文件夹,其中的内容上面已有图给出;test.py为测试的py脚本,内容比较简单:
#! /bin/env python
import MySQLdb
import _mysql
def main():
print 'Test mysqldb: hello world !'
if __name__ == '__main__':
main()
至此,测试脚本可正常执行(主要是import MySQLdb未报错),说明使用环境搭建ok,可以尝试访问数据库做相关操作了。
参考链接: