在开发一个python项目是,需要用到mysql,但是,
安装完mysql-python后import加载模块提示以下错误:
ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
可以尝试一下两种方法:
方法一:
在mysql-python的安装目录下找到site.cfg,将
#mysql_config = XXXXXXXXXXXXXXXX
注释符号去掉,并填上mysql_config的地址
方法二:
将mysql/lib下所有关于libmysqlclient的so文件软链接到/usr/lib下。
>>> ln -s /usr/local/mysql/lib/libmysqlclient* /usr/lib
重新加载配置
>>> ldconfig
这时候就不会出错了
以上转自http://www .pythontab.com/html/2013/pythonhexinbiancheng_0816/542.html
以上方法一般是有效的。
特殊情况
由于我自己安装的是mysql5.6版本,所以在 /usr/local/mysql/lib/libmysqlclient*库都是libmysqlclient.so.18的。
linux下python是用的默认的2.7版本,他默认使用的libmysqlclient_r.so.16库,所以找不到libmysqlclient_r.so.16。
解决方法:
在/usr/lib64/mysql/下一般有自带的libmysqlclient.so.16的库
1、使用软连接到/usr/lib64/目录下。
>>>ln -s /usr/lib64/mysql/libmysqlclient* /usr/lib
2、设置libmysqlclient.so.16库的加载路径
在/etc/ld.so.conf文件中添加/usr/lib64/mysql路径 或者 在/etc/ld.so.conf.d/目录下添加一个*.conf配置文件,并在配置文件中添加/usr/lib64/mysql路径