Я пытаюсь начать создавать небольшую GTK-программу, а для тестирования установки и настройки GTK я пытаюсь выполнить простой сценарий helloworld.
Просто используя простой пример, заданный pygobjectдокументация :
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
window = Gtk.Window(title="Hello World")
window.show()
window.connect("destroy", Gtk.main_quit)
Gtk.main()
Первая проблема (решена):
from gi.repository import Gtk
Gtk not found, but a new autoimport give me this import:
from gi.overrides import Gtk
Основная проблема (УРЕШЕНО):
Traceback (most recent call last):
File "/Users/alberto/PycharmProjects/p1-ipm-16-17-Otloal/main.py", line 2, in <module>
gi.require_version("Gtk", "3.0")
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gi/__init__.py", line 127, in require_version
raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gtk not available
Уже установлены gtk + 3 иpygobject3
brew reinstall gtk+3 pygobject3
** edit: если я просто игнорирую строку gi.require_version ("Gtk", "3.0"), python переходит к импорту gtk из gi.repository, который заканчивается:
Traceback (most recent call last):
File "main.py", line 2, in <module>
from gi.overrides import Gtk
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gi/overrides/Gtk.py", line 39, in <module>
Gtk = get_introspection_module('Gtk')
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gi/module.py", line 265, in get_introspection_module
module = IntrospectionModule(namespace, version)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/gi/module.py", line 117, in __init__
repository.require(namespace, version)
gi.RepositoryError: Typelib file for namespace 'Gtk' (any version) not found
*** edit2: В linux кажется, что способ решить эту проблему (я не знаю, сработает ли это для меня) - установить gir1.2-gtk-3.0, но этопакет debian, и я не могу найти эквивалент macos