sobota, 26 listopada 2011

Jaja z obsługą baz danych w PyQt

Musiałem dokończyć projekt w Pythonie na innym komputerze. Szybki update kodu z repozytorium, odpalam program i nie działa połączenie z bazą. Szybki debug pokazuje błąd przy ładowaniu modułu QPSQL. Po dłuższym googlowaniu znalazłem rozwiązanie tego problemu: http://comments.gmane.org/gmane.comp.python.pyqt-pykde/23212 Generalnie gdyby link padł to piszę w czym problem:

  1. QT zapisuje sobie w rejestrze informacje o pluginach które się posrały i nie ładuje ich ponownie. Więc trzeba sobie przy podobnych kłopotach wyczyścić gałąź: HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.7
  2. Podczas przeglądania pliku dependency walkerem pokazuje się problem z MSVCR90.dll, ale nie jest to źródło problemu, bo biblioteka ta przeważnie jest ciągnięta z %WINDIR%\WinSxS
  3. Źródłem problemu jest libeay32.dll. PyQt przynosi własną wersję tego pliku, ale podczas ładowania programu używana jest inna jego wersja (w moim przypadku pochodząca z katalogu %WINDIR%). 
Nie mam pojęcia który program to tam umieścił, ale zmiana nazwy tego pliku rozwiązała problem.

Brak komentarzy: