我試圖讓old piece of software重新開始工作。它是一個獨立的數據庫客戶端,它的圖形界面被描述爲python-glade
並且使用/使用了python模塊gtk
。使用pygtk更新未知軟件
當我上次使用它時,它已經是兩三年前的事了,那時它可以剛開箱即可安裝。我不知道它工作的不同版本庫。
我最初想分離出它的依賴在虛擬環境中,但他們兩個都pygtk
和gobject
,這似乎是難以在Linux上使用pip
安裝,恐怕我結束了的同樣相當髒亂不堪命名爲全局安裝的庫。
軟件的原作者說,他沒有遵循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
。
gi.repository.Gtk表示GTK + 3.x,而pygtk表示GTK + 2.x.從長遠來看,更新到GTK + 3可能是一個好主意,但是版本2仍然可以正常工作並且可以繼續工作多年(並且升級到GTK3可能會比oneliner更爲複雜)。 我建議你先使用pygtk來完成工作 - 這應該是迄今爲止最容易完成的工作。也許如果你包含了pygtk的原始問題,有人可以提供幫助。 – jku
哦,關於pygtk和gobject - 這些都是非常常見的組件,應該可以在幾乎所有使用其標準軟件包管理系統的Linux操作系統中使用。 – jku