我正在使用来自全合一安装程序的Python 2.6和PyGTK 2.22.6在Windows XP上构建单个文件可执行文件(通过py2exe)。我的问题是,当我将应用程序作为脚本运行时(即未构建为
.exe
文件,只是一组松散的.py
文件),它使用本地外观的Windows主题,但是当我运行已构建的exe时,我看到默认的GTK主题。我知道可以通过将一堆文件复制到由py2exe创建的dist
目录中来解决此问题,但我阅读的所有内容都涉及手动复制数据,而我希望这成为构建过程的自动部分。此外,关于此主题的所有内容(包括FAQ)都已过时- PyGTK现在将其文件保存在C:\Python2x\Lib\site-packages\gtk-2.0\runtime\...
中,仅复制lib
和etc
目录无法解决该问题。我的问题是:
我希望能够在
setup.py
中以编程方式查找GTK运行时数据,而不是硬编码路径。我该怎么做?我需要包含哪些最小资源?
更新:我可能已经通过尝试和错误几乎回答了问题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
前缀,但是与相同的目录结构,在由py2exe生成的dist
目录直接放置。但是,考虑到gtk.gtk_version
是(2,22,0)
,那么2.10.0
从哪里来呢?