ImportError: libsybdb.so.5: cannot open shared object file: No such file or directory

遇到的问题

ImportError: libsybdb.so.5

今天安装pymssql,众所周知,这个库依赖FreeTDS,所以我通过下载源码的方式安装了它,但问题也出现了,运行后报了以下错误

1
2
ImportError: libsybdb.so.5: cannot open shared object file: No such file or
directory

这让我很苦恼,本来对linux系统就不是特别熟悉,多方查阅资料,搜索技术博客。很多人写的都不能解决我的问题。直到后来,这里不得不说说搜索引擎的影响了。同样的搜索条件,百度给的大多是百度知道,新浪博客和一些不知道什么奇奇怪怪的一大堆广告的类似于CSDN这种博客或者学习网站的结果,这很影响心情!!!还是用了谷歌,令人欣慰,结果大都来自知名的github,或者Stack Overflow。看起来很靠谱,没想到,结果也很靠谱!

解决

分析原因为使用源码安装FreeTDS时,其产生的文件也在自己指定的文件夹中,这就导致程序不一定能找到它。从而导致 ImportError!症结所在找到了,解决自然就比较流畅了,最方便的方法,创建软连接,使用sudo find / -name libsybdb.so.5找到我的libsybdb.so.5文件坐在位置比如,我的文件在/home/pcw/Downloads/freetds-0.91/src/dblib/.libs/libsybdb.so.5使用命令创建软链接

1
sudo ln -s /home/pcw/Downloads/freetds-0.91/src/dblib/.libs/libsybdb.so.5 /usr/lib/libsybdb.so.5

当然,你需要把路径换成你自己的!

参考链接 github