操作系统:Linux Cent OS 5 / Max OS X 10.6 snow leopard
相关环境:Python 2.6.4 ; MySQL 5.1.45
相关环境:Python 2.6.4 ; MySQL 5.1.45
安装版本:MySQL-python-1.2.3c1
MySQLdb是Python连接MySQL的模块,下面介绍一下源码方式安装MySQLdb:
- 首先要下载下载:请到官方网站http://sourceforge.net/projects/mysql-python/或者点击链接下载http://downloads.sourceforge.net/project/mysql-python/mysql-python-test/1.2.3c1/MySQL-python-1.2.3c1.tar.gz?use_mirror=nchc
- 解压:tar zxvf MySQL-python*
- 进入文件目录,运行以下命令:
sudo python setup.py install
- 安装完成,到你的python安装目录下的site-packages目录里检查以下文件是否存在,如果存在即代表安装成功了
Linux:MySQL_python-1.2.3c1-py2.6-linux-i686.egg
Mac OS X:MySQL_python-1.2.3c1-py2.6-macosx-10.4-x86_64.egg
注:如果碰到mysql_config not found的问题,有两种方法解决:
1)sudo ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
将mysql_confi从你的安装目录链接到/usr/local/bin目录下,这样就可以在任意目录下访问了(也可以放到/usr/bin)
2)编辑源码文件夹的site.cfg文件,去掉#mysql_config = /usr/local/bin/mysql_config前的注释#,修改后面的路径为你的mysql_config真正的目录就可以了。(如果不知道 mysql_config在哪里,运行命令:whereis mysql_config)
- 测试方法
1)运行命令python进入python运行环境
2)输入以下python代码进行测试
import MySQLdb test=MySQLdb.connect(db='mydb',host='myhost',user='u',passwd='p') cur = test.cursor() cur.execute('show databases;') for data in cur.fetchall(): print data 3)如果你在屏幕上看到了你几个数据库的库名的输出代表你安装成功了
- 可能碰到的问题
1)问题:ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
原因是python无法找到mysql目录下的libmysqlclient_r.so.16动态库,其实MySQLdb是调用mysql的c函数库.所以本机上首先得安装了mysql
然后: export LD_LIBRARY_PATH=/usr/local/mysql/lib/mysql:$LD_LIBRARY_PATH
并且将/usr/local/mysql5.1/lib/mysql 放入/etc/ld.so.conf中
/etc/ld.so.conf改后内容为:
include ld.so.conf.d/*.conf
/usr/local/mysql5.1/lib/mysql - ldconfig
最后重新再测试一下,就不会有上面的问题了