2014-01-24 99 views
1

我試圖讓old piece of software重新開始工作。它是一個獨立的數據庫客戶端,它的圖形界面被描述爲python-glade並且使用/使用了python模塊gtk使用pygtk更新未知軟件

當我上次使用它時,它已經是兩三年前的事了,那時它可以剛開箱即可安裝。我不知道它工作的不同版本庫。

我最初想分離出它的依賴在虛擬環境中,但他們兩個都pygtkgobject,這似乎是難以在Linux上使用pip安裝,恐怕我結束了的同樣相當髒亂不堪命名爲全局安裝的庫。

軟件的原作者說,他沒有遵循GTK發展得也供應最近,他暗示代替import gtkfrom 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

gi.repository.Gtk表示GTK + 3.x,而pygtk表示GTK + 2.x.從長遠來看,更新到GTK + 3可能是一個好主意,但是版本2仍然可以正常工作並且可以繼續工作多年(並且升級到GTK3可能會比oneliner更爲複雜)。 我建議你先使用pygtk來完成工作 - 這應該是迄今爲止最容易完成的工作。也許如果你包含了pygtk的原始問題,有人可以提供幫助。 – jku

+0

哦,關於pygtk和gobject - 這些都是非常常見的組件,應該可以在幾乎所有使用其標準軟件包管理系統的Linux操作系統中使用。 – jku

回答

0

至於jku表示,GTK2還活着並且踢。如果您安裝了適當的依賴關係,您將能夠使原始應用程序正常工作。快速瀏覽一下依賴關係列表給我,你應該安裝以下軟件包(基於Debian的系統)的印象:

  • python2.7(或任何Python2.x)
  • 蟒蛇,SQLAlchemy的
  • 蟒-GTK2
  • 蟒-的GObject-2
  • 蟒-LXML
  • 蟒-pysqlite2
  • 蟒-glade2會

如果您遇到任何

ImportError: No module named xxxx

通常,您可以通過安裝相應的python-XXXX包解決這個問題。