Объединение ресурсов GTK с py2exe

Я использую 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 не решает проблему.

Мои вопросы:

  1. Я хотел бы иметь возможность программно находить данные времени выполнения GTK в setup.py , а не в путях жесткого кодирования. Как мне это сделать?

  2. Какие минимальные ресурсы мне нужно включить?

Обновление: Возможно, я почти ответил на № 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) ?

11
задан detly 25 October 2011 в 05:57
поделиться