代码笔记8 云服务器使用opencv库报错libopenh264.so.5: cannot open shared object file: No such file or directory
1
在云服务器上使用opencv出现这样的报错。
File "train.py", line 7, in <module>
from datasets import RSDataset
File "/root/autodl-tmp/RSSemSeg/RSNet/datasets.py", line 2, in <module>
import cv2
File "/root/miniconda3/lib/python3.8/site-packages/cv2/__init__.py", line 180, in <module>
bootstrap()
File "/root/miniconda3/lib/python3.8/site-packages/cv2/__init__.py", line 152, in bootstrap
native_module = importlib.import_module("cv2")
File "/root/miniconda3/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: libopenh264.so.5: cannot open shared object file: No such file or directory
2解决办法
也算是熟能生巧了,对于这样的动态链接库问题,一般来说往往是名字不匹配,可能是版本原因等等导致的。解决办法就是建立软连接即可。
找到环境的lib文件夹。conda环境一般会在conda文件的lib文件夹中中,和解释器在一起。系统环境一般在默认的lib文件夹中。
在lib中我找到了动态链接库libopenh264.so.6
想必就是这个了,下一步建立软连接
ln -s libopenh264.so.6 libopenh264.so.5
再去运行程序就好了。
一般这种链接库问题都可以这样解决,可见[1]