Обновить неустановленное программное обеспечение с помощью pygtk

Я пытаюсь вернуть старый программный продукт к работе. это автономный клиент базы данных, его графический интерфейс описывается python-glade и использовал / использовал модуль Python gtk,

когда я последний раз использовал его, это было два или три года назад, и в то время он мог быть установлен прямо из коробки. Я не знаю, с какими версиями разных библиотек он работал.

Первоначально я хотел изолировать его зависимости в виртуальной среде, но две из них pygtk а также gobjectкоторые трудно установить с помощью pip на Linux, и я боюсь, что я закончил с довольно грязным беспорядком с одинаково названными глобально установленными библиотеками.

оригинальный автор программного обеспечения говорит, что он не следил за разработками GTK в последнее время слишком близко, и он намекает на замену import gtk с from gi.repository import Gtk; gtk = Gtk, но если я это сделаю, я получу ошибку сегментации в модуле библиотеки:

/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: 
  Warning: g_type_get_qdata: assertion 'node != NULL' failed
  from gtk import _gtk
Segmentation fault (core dumped)

и вообще я бы не знал где взять gdk, который также используется.

одна серьезная проблема заключается в том, что у меня нет четкого представления о том, в чем разница между модулями: pygtk, gtk, gi.repository.Gtk,

1 ответ

Как сказал jku, GTK2 все еще жив и здоров. Вы сможете заставить исходное приложение работать, если вы установите соответствующие зависимости. Беглый взгляд на список зависимостей создает у меня впечатление, что вы должны установить следующие пакеты (в системе на основе Debian):

  • python2.7 (или любой Python2.x)
  • питон-SQLAlchemy
  • питон-gtk2
  • Python-GObject-2
  • питон-LXML
  • питон-pysqlite2
  • питон-glade2

если вы столкнетесь с

ImportError: No module named xxxx

Обычно вы решаете эту проблему, устанавливая соответствующий пакет python-xxxx.

Другие вопросы по тегам