Linux报错cannot open shared object file问题及解决
跑程序时,显示错误如下:
ImportError: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory
原因:这里的libmkl_intel_lp64.so是一个动态链接库文件,系统找不到。
解决方案
修改动态库搜索路径的方式
-
- 搜索该文件所在路径:
# 在/opt/conda路径下查找对应文件,一般就在安装的conda路径下
find /opt/conda -name libmkl_intel_lp64.so
假如find找到了 /opt/conda/lib/libmkl_intel_lp64.so
-
- 将所在的路径加入动态库搜索路径
export LD_LIBRARY_PATH=/opt/conda/lib:$LD_LIBRARY_PATH
-
- 更新环境变量文件
source ~/.bashrc
补充一点如果是用miniconda安装python的话,对应的动态链接一般会在虚拟环境的folder里,但不知为何python3.9.6的环境里会没有这个动态链接,需要通过find找一下。
修改文件的方式
有时候该文件所在目录确实已经在动态库搜索路径里了,但是实际的文件名往往和程序所想要的文件名差一点(最后的版本号),此时只需要复制出一份新的文件即可:
cp libmkl_intel_lp64.so.1 libmkl_intel_lp64.so
评论列表 (0条):
加载更多评论 Loading...