我试图运行cv2,但当我试图导入它时,我得到以下错误:
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
建议的在线解决方案是安装
apt install libgl1-mesa-glx
但这是已经安装的最新版本。
注:我实际上是在Docker上运行这个,我无法检查OpenCV版本。我尝试导入matplotlib,导入正常。
我试图运行cv2,但当我试图导入它时,我得到以下错误:
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
建议的在线解决方案是安装
apt install libgl1-mesa-glx
但这是已经安装的最新版本。
注:我实际上是在Docker上运行这个,我无法检查OpenCV版本。我尝试导入matplotlib,导入正常。
当前回答
在缺少各种图形库的非GUI服务器上使用pip3安装opencv后,在centos 8上出现了同样的问题。
DNF安装opencv
拉入所有需要的依赖项。
其他回答
我在Ubuntu桌面上遇到了同样的问题,其他的解决方案都不适合我。
libGL.so。正确安装了1,但由于某种原因Python无法看到它:
$ ldconfig -p | grep libGL.so.1
libGL.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libGL.so.1
唯一有效的解决方案是在LD_LIBRARY_PATH中强制使用它。在~/中添加以下内容。然后运行source ~/。Bashrc或重新启动shell:
export LD_LIBRARY_PATH="/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH"
我知道LD_LIBRARY_PATH不好,但对我来说,这是唯一可行的解决方案。
安装opencv-python-headless而不是opencv-python 这对我来说很管用! 我正在将我的网站部署到Azure上,然后弹出这个异常: ImportError: libGL.so。1:无法打开共享对象文件:没有共享对象文件或目录 然后卸载opencv-python包,安装后者, 冻结需求,然后再次部署, 这样问题就解决了。
我在docker容器中使用cv2时遇到了这个问题。我通过:
pip install opencv-contrib-python
安装opencv-contrib-python而不是opencv-python。
对于树莓派来说,这样写,为我工作:
sudo apt-get install ffmpeg libsm6 libxext6 -y
在我的情况下,做以下就足够了,与上面的解决方案相比,这也节省了空间
RUN apt-get update && apt-get install -y --no-install-recommends \
libgl1 \
libglib2.0-0 \