在linux上运行程序的时候,发现有这个异常:
Traceback (most recent call last):
File "rcctestsuite.py", line 13, in <module>
from validator.db.processor import Processor as DBProcessor
File "/usr/RAT/src/validator/db/processor.py", line 9, in <module>
from syniverse.dboperate import DBOperateAction
File "/usr/RAT/src/syniverse/dboperate.py", line 4, in <module>
import MySQLdb,time,traceback,logging
File "build/bdist.linux-x86_64/egg/MySQLdb/__init__.py", line 19, in <module>
File "build/bdist.linux-x86_64/egg/_mysql.py", line 7, in <module>
File "build/bdist.linux-x86_64/egg/_mysql.py", line 6, in __bootstrap__
ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
解决如下:
1. 通过命令 find / -name libmysqlclient_r.so.16,查找libmysqlclient_r.so.16 在什么地方,一般是在/usr/lib64/mysql/下面
2. 做一个链接到/usr/lib64 下: ln -s /usr/lib64/mysql/libmysqlclient_r.so.16 /usr/lib64/libmysqlclient_r.so.16
问题解决。
出现这个问题的原因是mysqldb无法找到libmysqlclient_r.so.16,所以就给它一个。这个文件是mysqldb用来链接到mysql数据库的。