2008-12-06 23 views
78

Okay, co to jest i dlaczego występuje na serwerze Win2003, ale nie na WinXP.Python - Nie znaleziono programów obsługi dla rejestratora "OpenGL.error"

Nie ma to żadnego wpływu na moją aplikację, ale pojawia się ten komunikat o błędzie po zamknięciu aplikacji. I to jest denerwujące (jak powinny być komunikaty o błędach).

Używam PyOpenGl i wxPython do robienia grafik. Niestety, jestem programistą C#, który przejął tę aplikację Python i musiałem nauczyć się Pythona, aby to zrobić.

Mogę podać kod i numery wersji itp., Ale nadal uczę się technicznych rzeczy, więc każda pomoc będzie doceniana.

Python 2.5, wxPython i pyOpenGL

+1

Myślę, że "nie można było znaleźć żadnych programów obsługi" jest problemem kanonicznym, który występuje nie tylko w bibliotece OpenGL Pythona, ale w wielu bibliotekach Pythona. Teraz jednak, gdy już google "python nie można znaleźć żadnych programów obsługi dla rejestratora" wydaje mi się, że to pytanie jest najbliższe ja z kanonicznym pytaniem/rozwiązaniem. –

+0

Na wypadek, gdyby ktoś przyszedł tutaj, szukając tego https://stackoverflow.com/q/44188270/1581226 – qwerty

Odpowiedz

191

Wygląda OpenGL próbuje zgłosić jakiś błąd na Win2003, jednak nie wcześniej skonfigurowany system, gdzie wyjście zalogowaniu info.

Możesz dodać następujące elementy na początku programu, a zobaczysz szczegóły błędu w stderr.

import logging 
logging.basicConfig() 

Zamówienie dokumentacja modułu logging aby uzyskać więcej informacji config, koncepcyjnie jest podobny do log4j.

+1

To było naprawdę pomocne. Udało mi się uzyskać tekst błędu z mojej aplikacji, a nie śledzić problemy. –

2

Po dodaniu powyższego Logowania mogłem zauważyć, że przyczyną problemu była brakująca klasa TConstants, którą wykluczyłem z pliku setup py2exe setup.py.

Po usunięciu "Tconstants" z listy wykluczonej, nie miałem już problemów.

3

Aby usunąć ten komunikat, należy skonfigurować NullHandler do rejestratora poziomu root biblioteki (OpenGL).

+0

Dlaczego są downshotes? –

+4

Zakładam, że zostałeś poddany głosowaniu w dół, ponieważ ignorowanie komunikatów dziennika za pomocą NullHandler rzadko jest właściwą rzeczą. Zgłoszona wiadomość jest często oznaką, że program rejestrujący nie został skonfigurowany w momencie, w którym powinien już być skonfigurowany, a także ignoruje potencjalny problem ze składnikiem, który próbował coś zarejestrować. W niektórych przypadkach dobrym pomysłem może być użycie NullHandler, ale rzadko IMO. –

+0

@MoisesSilva dla biblioteki NullHandler jest koniecznością. Nie wyłącza rejestrowania - pozwala tylko na drobiazgową kontrolę nad nim. Think 'reset.css' –