Solución de errores al importar OpenCV en entornos Anaconda sobre Ubuntu

Al trabajar con entornos de Anaconda en sistemas Ubuntu, es frecuente encontrarse con fallos al intentar ejecutar import cv2. Estos problemas suelen dividirse en dos categorías: la falta del módulo en el entorno activo o la ausencia de librerías compartidas necesarias para su ejecución.

Identificación del entorno de ejecución

Antes de aplicar correcciones, es fundamental verificar qué intérprete de Python está utilizando el sistema. Ejecute el siguiente comando en su terminal:

# Localizar el ejecutable de Python en uso
which python

Si la ruta devuelta es similar a /home/usuario/anaconda3/bin/python, significa que las librerías deben estar vinculadas a la estructura de directorios de Anaconda, específicamente en lib/python3.x/site-packages/.

Problema 1: ImportError: No module named 'cv2'

Este error ocurre cuando el paquete OpenCV no está instalado o no es visible para el entorno actual. Si está utilizando Anaconda, la forma más limpia de resolverlo es mediante el gestor de paquetes:

# Instalación recomendada mediante conda
conda install -c conda-forge opencv

Prolbema 2: Error de carga de librerías compartidas (.so)

Un error común tras una instalación manual o una migración de archivos es el mensaje: ImportError: libz-xxxx.so.1: cannot open shared object file: No such file or directory. Esto indica que el binario de OpenCV no encuentra sus dependencias dinámicas.

Para solucionar esto, primero debemos rastrear la ubicación del archivo faltante en el sistema:

# Buscar archivos de librería compartida en el sistema
sudo find / -name "libz-*.so*"

Una vez localizado el archivo en una ruta existente (por ejemplo, en otra versión de Python o en una carpeta de sistema), puede optar por copiar el archivo necesario o el archivo cv2.so correspondiente al directorio de paquetes del entorno que desea reparar:

# Estructura de ejemplo para copiar el binario al entorno de destino
cp /usr/local/lib/python3.5/dist-packages/cv2.so ~/anaconda3/lib/python3.6/site-packages/

Configuración de la varible PYTHONPATH

Si los archivos están en la ubicación correcta pero el sistema sigue sin detectarlos, es necesario declarar la ruta explícitamente en su configuración de entorno. Edite su archivo .bashrc:

# Añadir la ruta de paquetes de Anaconda al PYTHONPATH
export PYTHONPATH="/home/tu_usuario/anaconda3/lib/python3.6/site-packages:$PYTHONPATH"

Posteriormente, recargue la configuración con source ~/.bashrc para aplicar los cambios.

Validación final

Para asegurar que la inetgración es exitosa, inicie el intérprete de Python y realice una prueba de carga:

python
>>> import cv2
>>> print("Versión de OpenCV instalada:", cv2.__version__)

Etiquetas: Ubuntu Anaconda opencv Python linux

Publicado el 7-26 03:44