我正在尝试使用cv2(opencv-python)软件包访问我的网络摄像头。
当我尝试导入它时,出现此错误:
Traceback (most recent call last):
File "server.py", line 6, in <module>
import cv2
File "/usr/local/lib/python3.8/dist-packages/cv2/__init__.py", line 5, in <module>
from .cv2 import *
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
注意:我正在尝试在Linode服务器上的腻子上导入此软件包-这可能是有用的信息。
如果有人可以向我解释正在发生的事情,也许可以解决问题,我将不胜感激!
答案 0 :(得分:3)
安装opencv-python-headless
而不是opencv-python
。服务器(无头)环境未安装GUI软件包,这就是您看到此错误的原因。 opencv-python
取决于Qt,而Qt又取决于X11相关的库。
其他替代方法是运行sudo apt-get install -y libgl1-mesa-dev
,如果您想使用libGL.so.1
,它将提供缺少的opencv-python
。 libgl1-mesa-dev
软件包的名称可能会有所不同,具体取决于您的GNU / Linux发行版。
opencv-python
的完整安装指南可从软件包文档中找到:https://github.com/skvark/opencv-python#installation-and-usage