2013-11-19 5 views
2

Когда я делаю exe из py python3 + pygobject + gtk3, используя setup.py с сайта pygobject, он пропускает некоторые DLL-файлы.Python3 + PyGobject + GTK3 и cx_freeze отсутствуют DLL

Какие файлы отсутствуют?

+0

Я думаю, что новая система интроспекции Gobject загружает библиотеки динамически, поэтому cx_Freeze в настоящее время не может следовать ссылкам, чтобы определить, какие библиотеки ему нужны. –

ответ

1

У меня есть проверенные файлы, необходимые для работы с DLL. Поэтому, если это кому-то поможет:

setup.py необходимо отредактировать. missing_dlls список должен быть:

missing_dll = ['libgtk-3-0.dll', 
      'libgdk-3-0.dll', 
      'libatk-1.0-0.dll', 
      'libcairo-2.dll', 
      'libcairo-gobject-2.dll', 
      'libgdk_pixbuf-2.0-0.dll', 
      'libjpeg-8.dll', 
      'libpango-1.0-0.dll', 
      'libpangocairo-1.0-0.dll', 
      'libpangoft2-1.0-0.dll', 
      'libpangowin32-1.0-0.dll', 
      'libgirepository-1.0-1.dll', 
      'libffi-6.dll', 
      'libfontconfig-1.dll', 
      'libfreetype-6.dll', 
      'libgio-2.0-0.dll', 
      'libglib-2.0-0.dll', 
      'libgmodule-2.0-0.dll', 
      'libgobject-2.0-0.dll', 
      'libpng15-15.dll', 
      'libpyglib-gi-2.0-python-0.dll', 
      'libxml2-2.dll', 
      'zlib1.dll', 
      'libgnutls-26.dll', 
      'librsvg-2-2.dll', 
      'libgcrypt-11.dll', 
      'libp11-kit-0.dll'] 

и когда вы не хотите, чтобы все файлы из share, etc и lib, отредактируйте gtk_libs список:

gtk_libs = ['lib/gdk-pixbuf-2.0', 
      'lib/girepository-1.0', 
      'share/glib-2.0', 
      'share/gtk-3.0'] 

вы можете включать в себя также lib/engines , но мне это не нужно.

Смежные вопросы