python mysqldb的一个importerror
这次的这个问题有点离奇,程序前几天还正常运行,也正常演示了, 准备收拾行李回学校参加论文答辩前一天晚上, 最后运行了一个读取mysql的python脚本,居然发生如下报错信息:
ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory
没有新安装啥软件,也没有任何其他相关操作, 服务器只是作为爬虫静静的爬了一晚上的数据,第二天就冒出个这么个错误, 而且是在我准备回学校前一天,简直是醉了,折腾了好久,都没解决, 于是根据历史经验“睡一觉第二天就解决了”,我就回去了,在当天晚上飞机的情况下, 来公司,居然真给解决了,当然,不同的情况解决方法可能不太一样, 我在网上找资料时,主要有以下几种解决方案,我都罗列下,说不定有帮助。
###1.设置LD_LIBRARY_PATH
这可能是比较简单的一种情况,也是MySQL官方有记录的一种解决方案,
具体做法就是设置LD_LIBRARY_PATH,将其设置为mysql的库
###2.使用ldd命令
这是我没用过的命令,不过有资料里确实是提到了这个命令解决相关问题的场景,
所有有同样的问题的人可以试试,比如SO.
###3.使用链接
这个方法大部分都是中文资料里提到的,就是先找到具体的文件位置,
比如本文中的libmysqlclient.so.18
,
然后在将找到的文件链接到其他的库里,具体可以参考这篇文章和这篇 {:target=”_blank”}
###4.我的方法
如果你没有找到文件,那么上面的所有方法都没用,因为你的服务器上根本没有,
这个时候就要考虑去下载一个了,因为我用的centos(爱不起来),我就先用这个命令搜了下哪里有需要的文件:
然后从输出的列表里,找了一个包安装,问题解决了
blog comments powered by Disqus