Estoy tratando de ejecutar cv2, pero cuando intento importarlo, aparece el siguiente error:
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
La solución sugerida en línea es instalar
apt install libgl1-mesa-glx
pero esto ya está instalado y la última versión.
NB: en realidad estoy ejecutando esto en Docker, y no puedo verificar la versión de OpenCV. Intenté importar matplotlib y eso importa bien.
Agregue las siguientes líneas a su Dockerfile:
RUN apt-get update RUN apt-get install ffmpeg libsm6 libxext6 -yEstos comandos instalan las dependencias cv2 que normalmente están presentes en la máquina local, pero que pueden faltar en su contenedor Docker y causar el problema.
Esta es una solución un poco mejor en mi opinión. El paquete python3-opencv incluye todas las dependencias del sistema de OpenCV.
RUN apt-get update && apt-get install -y python3-opencv RUN pip install opencv-pythonAunque las soluciones anteriores funcionan. Pero los tamaños de sus paquetes son bastante grandes. libGL.so.1 es proporcionado por el paquete libgl1 . Así que el siguiente código es suficiente.
apt-get update && apt-get install libgl1