POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Ayúdame: un error me molesta

Un error que me molesta en mi blog y cómo corregirlo

Publicado el 19/08/2025

ImportError: DLL load failed while importing onnxruntime_pybind11_state A dynamic link library initialization routine failed Este artículo explica por qué aparece este error al convertir un proyecto Python a ejecutable con PyInstaller y ofrece soluciones prácticas adaptadas a un proyecto RealtimeSTT con PyQt5

Contexto El proyecto utiliza el paquete RealtimeSTT junto con PyQt5 y funciona correctamente cuando se ejecuta con el intérprete de Python. Al crear el ejecutable con PyInstaller el arranque falla con un error de carga de DLL relacionado con onnxruntime en el módulo onnxruntime_pybind11_state

Causas más probables 1 Dependencias nativas faltantes o no incluidas en el bundle de PyInstaller, en especial las DLL de onnxruntime y sus dependencias como las redistribuibles de Microsoft Visual C++. 2 Incompatibilidad de arquitectura entre Python, paquetes y librerías nativas por ejemplo mezclar 32 bits y 64 bits. 3 Uso de la versión GPU de onnxruntime sin incluir las DLL de CUDA necesarias o sin tener instalados los drivers y runtimes de CUDA correctos. 4 Compresión o inclusión incorrecta de las DLL por parte de UPX u otras opciones de empaquetado

Pasos recomendados para resolver el problema 1 Verificar redistribuible de Visual C C Instalación de Microsoft Visual C Redistributable para Visual Studio 2015 2017 2019 y 2022 en su versión adecuada a la arquitectura del sistema. 2 Comprobar arquitectura Asegúrese de que Python y todos los paquetes instalados son de la misma arquitectura por ejemplo Python 64 bits y paquetes 64 bits. 3 Incluir las DLL nativas de onnxruntime en el build Con PyInstaller hay que agregar las DLL dinámicas de onnxruntime al apartado binaries del spec o utilizar un hook para recopilar dinámicos. En la práctica hay que localizar la carpeta del paquete onnxruntime en site packages y añadir los archivos onnxruntime dll y cualquier pyd que aparezca en la carpeta capi al listado de binaries del spec. 4 Evitar UPX y comprimir librerías Evite comprimir las DLL nativas con UPX durante la depuración ya que puede interferir con la inicialización de la librería. 5 Incluir librerías CUDA si usa onnxruntime GPU Si está usando onnxruntime con soporte GPU incluya las DLL de CUDA y cuDNN necesarias y asegúrese de que los drivers y runtimes de CUDA instalados coinciden con la versión requerida por onnxruntime. 6 Añadir rutas al PATH en tiempo de ejecución Una solución robusta consiste en, antes de importar onnxruntime en tiempo de ejecución dentro del ejecutable, añadir la ruta donde se han extraído las DLL de onnxruntime a la variable de entorno PATH para que Windows encuentre las dependencias nativas. 7 Depuración con herramientas de dependencias Use herramientas como Dependency Walker o la utilidad de Windows para listar dependencias faltantes y así identificar la DLL concreta que falla en la inicialización

Consejos prácticos para el spec de PyInstaller 1 Agregar manualmente los binarios nativos de onnxruntime y las DLL de torch que ya tiene listadas para asegurar que todas las librerías nativas van en la carpeta del ejecutable. 2 Crear un hook personalizado para onnxruntime que recopile dynamic libraries y data files del paquete onnxruntime y lo registre en hidden imports si fuera necesario. 3 Mantener console True y debug True mientras depura para ver trazas completas y mensajes de error. 4 Probar primero creando un bundle en carpeta en lugar de onefile para inspeccionar el contenido y verificar que los DLL están presentes en la carpeta dist

Prueba rápida para confirmar la causa Ejecutar el ejecutable desde consola y observar el mensaje de error identificar la DLL concreta que falta o que no inicializa y comprobar en la carpeta del ejecutable si esa DLL está presente y si su arquitectura es correcta

Si todo falla y necesita ayuda profesional Q2BSTUDIO puede ayudar Somos Q2BSTUDIO empresa especializada en desarrollo de software a medida y aplicaciones a medida con amplia experiencia en inteligencia artificial ciberseguridad servicios cloud aws y azure servicios de inteligencia de negocio y soluciones con agentes IA y power bi Ofrecemos análisis del entorno de despliegue diagnóstico de errores nativos en Windows inclusión correcta de librerías nativas y optimización de builds PyInstaller para producción Si desea un servicio a medida podemos auditar su proyecto RealtimeSTT preparar un spec robusto y entregar un instalador estable y probado

Palabras clave para mejorar posicionamiento aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws azure servicios inteligencia de negocio ia para empresas agentes IA power bi

Resumen rápido 1 Instale Visual C Redistributable 2 Verifique arquitectura 3 Incluya DLLs de onnxruntime y dependencias en binaries del spec o mediante hook 4 Evite UPX durante la depuración 5 Si usa GPU incluya DLLs de CUDA y cuDNN 6 Añada rutas al PATH antes de importar onnxruntime 7 Use herramientas de dependencias para localizar faltantes y si necesita apoyo técnico contacte con Q2BSTUDIO

Si desea puedo ayudar a generar un spec de PyInstaller ajustado a su proyecto revisar las DLL que faltan o preparar un hook personalizado para onnxruntime contacte con Q2BSTUDIO y le orientamos sobre los siguientes pasos

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio