Я использую Python 2.6 и PyGTK 2.22.6 из универсального установщика в Windows XP, пытаясь создать однофайловый исполняемый файл (через py2exe ) для моего приложения.
Моя проблема в том, что когда я запускаю свое приложение как сценарий (т.е. не встроен в .exe
файл, как и свободная коллекция файлов .py
), он использует родную тему Windows, но когда я запускаю встроенный exe, я вижу тему GTK по умолчанию.
Я знаю, что эту проблему можно решить, скопировав кучу файлов в каталог dist
, созданный py2exe, но все, что я прочитал, включает в себя ручное копирование данных, тогда как я хочу, чтобы это было автоматическая часть процесса сборки. Более того, все по теме (включая FAQ ) устарело - PyGTK теперь хранит свои файлы в C: \ Python2x \ Lib \ site-packages \ gtk-2.0 \ runtime \ .. .
, и простое копирование каталогов lib
и etc
не решает проблему.
Мои вопросы:
Я хотел бы иметь возможность программно находить данные времени выполнения GTK в setup.py
, а не в путях жесткого кодирования. Как мне это сделать?
Какие минимальные ресурсы мне нужно включить?
Обновление: Возможно, я почти ответил на № 2 методом проб и ошибок. Чтобы тема "wimp" (например, MS Windows) работала, мне нужны файлы из:
runtime\lib\gtk-2.0\2.10.0\engines\libwimp.dll
runtime\etc\gtk-2.0\gtkrc
runtime\share\icons\*
runtime\share\themes\MS-Windows
... без префикса runtime
, но в остальном с той же структурой каталогов, находящиеся непосредственно в dist
каталог, созданный py2exe. Но откуда берется 2.10.0
, учитывая, что gtk.gtk_version
равно (2,22,0)
?