我已经通过运行pyodbc安装了easy_install path/to/egg Python模块。模块使用本机代码。产出表明取得了成功。
然而,当尝试import pyodbc时,会引发一个错误:cannot open shared object file。
在这个站点上的研究表明,Python在环境变量LD_LIBRARY_PATH指定的路径中查找本机库。因此,我应该将其设置为指向easy_install在安装过程中放置本机文件的路径。
但是,我找不到这条路。我查看了/usr/lib、/usr/lib64和其他一些有意义的目录(我目前不在工作中的Linux机器上,因此我不记得我查看过的其他目录)。
请解释在哪里可以找到这条路径。
发布于 2016-03-18 15:26:03
如所解释的这里
您必须将LD_LIBRARY_PATH设置为LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib (在.profile、.bashrc或.zshrc中),这指向通过系统的包管理器安装unixodbc和freetds共享库的位置。
也就是说,如果您在ubuntu上,输入apt-get install freedts unixodbc
pyodbc只是C库的包装器,因此需要这样做。
最后一件重要的事情是,在这些环境文件中设置LD_LIBRARY_PATH之后,要么选择并重新打开终端的外壳,要么重新打开source ~/.bashrc (如果您已经将其放入bashrc中)。
https://stackoverflow.com/questions/36088084
复制相似问题