2013-04-15 14 views
5

Jestem niewidomym programistą i staram się opracować aplikację, która automatycznie pobierze tekst z bieżącego utworu na Winampie i zaprezentuje go w przystępny sposób czytelnikom ekranu. Używam parametru availability_output, lib, który ułatwia proces, w którym aktywny czytnik ekranu komunikuje się z użytkownikiem. Można go znaleźć tutaj: https://pypi.python.org/pypi/accessible_output/0.7.5#id3 Wymaga to biblioteki DLL z czytnika ekranu do działania. W moich testach, czytnik ekranu NVDA, potrzebuje NVDA32controller.dll. Po uruchomieniu z wiersza poleceń działa dobrze, ale po utworzeniu pliku .exe z py2exe, nie znajduje biblioteki DLL, więc czytnik ekranu już nie mówi ... Jakieś pomysły na rozwiązanie tego problemu? Sprawdziłem kod źródłowy biblioteki i być może ścieżka, której szuka lib, działa po uruchomieniu z wiersza poleceń, ale gdy jest to plik .exe, zmienia się ... ale nie wiem czemu. Może powinienem dodać kolejną ścieżkę, ale jaka powinna być ścieżka?Jak znaleźć ścieżkę do bibliotek DLL używanych przez bibliotekę available_output?

Odpowiedz

2

W artykule tutaj wydaje się opisać podobny problem i rozwiązanie (pakowanie DLL w pytaniu): http://eli.thegreenplace.net/2008/10/09/packaging-dlls-with-executable-made-by-py2exe/

Ponadto, niezależnie od artykułu powyżej, IIRC Okna wygląda wewnątrz katalogu instalacyjnego danego programu dla DLL. Kopiowanie biblioteki DLL czytnika ekranu do katalogu, w którym znajduje się program py2exe, może działać. To rozwiązanie nie działa jednak zbyt dobrze, a powyższe, chociaż podobne, może być lepsze.

+0

dziękuję. Ten samouczek mi pomógł. Znalazłem również argument funkcji setup o nazwie data_files, w której mogę dodać krotki informujące o tworzeniu folderów i pliki do skopiowania –

Powiązane problemy