Как правильно установить PyGObject с Glade на OS X Mavericks

Я использую OS X Mavericks с системой Python 2.7.

Я установил PyGObject, GTK+ и Glade, как описано ниже, но Python не видит модуль gtk.glade.

Все библиотеки от Homebrew:

brew install libglade
brew install gtk+
brew install pygobject

Кроме того, я установил PYTHONPATH в .bash_profile на:

export PYTHONPATH=/usr/local/lib/python2.7/site-packages

Когда я запускаю Python и пытаюсь импортировать pygtk или gtk — все работает нормально. Но когда я пытаюсь загрузить gtk.glade, я не получаю ошибку модуля.

Итак, я попробую установить pygobject с --verbose режимом, и я заметил, что установщик не смог найти libglade:

checking for LIBGLADE... no
…
The following modules will be built:
atk
pango
pangocairo
gtk with 2.24 API
gtk.unixprint

The following modules will NOT be built:

gtk.glade

Я предположил, что установщик pygobject не может найти путь к libglade (который установлен в /usr/local/Cellar/libglade/2.6.4).

Как и какой путь мне изменить? Или что еще делать?

Заранее спасибо!


person Kayne    schedule 27.11.2013    source источник


Ответы (3)


Поддержка PyGObject для Gtk+2 ограничена, так как Gtk+2 не был создан с полной поддержкой Introspection.

Если вы используете PyGobject, не используйте PyGtk, это разные вещи. В любом случае, зачем вам нужно использовать libglade? Поддерживать старое программное обеспечение? Если это так, не используйте PyGObject, используйте любую версию, с которой было создано программное обеспечение.

Если вам нужно разобрать файлы Glade для создания графического интерфейса, используйте Gtk+ включенный объект GtkBuilder, libglade давно устарела.

См. gi.repository Windows, в частности различия с Gtk+2 и Gtk+3. Также см. Как программа, использующая графический интерфейс быть построенным? для того, как создать графический интерфейс Glade с использованием PyGObject, Python2.7 и GtkBuilder (это то, что, я полагаю, вам нужно).

person Havok    schedule 28.11.2013
comment
Я пытался установить GTK+3 и PyGobject, но каждый раз у меня не возникает проблем с модулем gi.repository. Также после установки GTK+3 я заметил, что python (2.7.5, системная версия для Mavericks) не имеет в sys.path GTK3 - только GTK2. - person Kayne; 28.11.2013

У меня была точно такая же проблема, и следующее НЕ работало:

brew install --verbose --glade pygtk

Но следующие DID работают на Mavericks с Python 2.7:

brew install --verbose --with-libglade pygtk

См. также это обсуждение

person Melissa    schedule 03.09.2014
comment
Это должен быть принятый ответ. Если вы пытаетесь запустить старое программное обеспечение и вам нужен gtk.glade, сделайте это. - person Juicy; 25.10.2015

Необходимо включить параметр конфигурации «--glade» в Brew при установке, это приведет к тому, что рецепт/формула сделает привязки.

  1. Необходимо установить «поляну»; это также установит «libglade»
  2. Затем установите pygtk со следующей опцией «brew install --glade pygtk».
person Dan Devine    schedule 27.03.2014