2008-12-06 16 views
78

Bien, ¿qué es y por qué ocurre en el servidor Win2003, pero no en WinXP?Python - No se encontraron controladores para el registrador "OpenGL.error"

Parece que no afecta en absoluto a mi aplicación, pero aparece este mensaje de error cuando cierro la aplicación. Y es molesto (como deberían ser los mensajes de error).

Estoy usando pyOpenGl y wxPython para hacer los gráficos. Lamentablemente, soy un programador de C# que se hizo cargo de esta aplicación de Python, y tuve que aprender Python para hacerlo.

Puedo suministrar el código y los números de versión, etc., pero todavía estoy aprendiendo las cosas técnicas, por lo que cualquier ayuda sería apreciada.

Python 2.5, wxPython y PyOpenGL

+1

Creo que "no se pudo encontrar controladores" es un problema canónico que ocurre no solo por la biblioteca OpenGL de Python, sino también por muchas bibliotecas de Python. En este momento, sin embargo, cuando google "python no se encontraron manejadores para el registrador", encuentro que esta pregunta parece ser la más cercana a una pregunta/solución canónica. –

+0

En caso de que alguien venga aquí buscando este https://stackoverflow.com/q/44188270/1581226 – qwerty

Respuesta

191

Parece que OpenGL está tratando de reportar algún error en Win2003, sin embargo no se ha configurado el sistema en el que el registro de salida de información.

Puede agregar lo siguiente al comienzo de su programa y verá detalles del error en stderr.

import logging 
logging.basicConfig() 

Pedido documentación sobre logging módulo para obtener más información de configuración, conceptualmente es similar a LOG4J.

+1

Esto fue realmente útil. Pude obtener el texto de error de mi aplicación, no para rastrear los problemas. –

2

Después de agregar el registro anterior, pude ver que el problema fue causado por la clase faltante TConstants, que estaba excluyendo en el archivo py2exe setup.py.

Después de eliminar los "Tconstants" de la lista de excluidos, ya no tuve problemas.

3

El proper way para deshacerse de este mensaje es configurar NullHandler para el registrador de nivel raíz de su biblioteca (OpenGL).

+0

¿Por qué hay downvotes? –

+4

Supongo que se votó negativamente porque ignorar los mensajes de registro con NullHandler rara vez es lo correcto. El mensaje reportado es a menudo una señal de que el registrador no se configuró en un punto en el que ya debería haber sido configurado y también está ignorando un posible problema con el componente que intentaba registrar algo. En algunos casos, usar NullHandler podría ser lo correcto, pero rara vez IMO. –

+0

@MoisesSilva para una biblioteca NullHandler es imprescindible. No desactiva el registro, solo permite un control detallado sobre él. Piense 'reset.css' –

Cuestiones relacionadas