ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory

时间:2022-04-28 11:56:29

在开发一个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路径