2014-04-04 104 views
0

我在我的centos 5.4機器上配置pygtk。但我面臨的問題很少。import pygtk works but not import gtk

我想pygtk的被配置到Python 2.7(默認的Python版本的Python 2.4 CentOS的5)

所以我用不同的--prefix安裝了Python 2.7到我的本地空間,然後安裝pygobject2.28和然後pygtk2.24和--prefix =「where python 2.7 installed」。

但是當我運行python2.7解釋器時,我可以導入pygtk,但是當我嘗試導入gtk時,它說「沒有名爲gtk的模塊」。

我已將PYTHONPATH和PYTHON環境變量分別配置爲python2.7/lib/site-packages和python2.7。

我的問題:

  1. 如果PyGTK是爲GTK的包裝,那麼爲什麼我不能夠導入GTK,當我能夠導入PyGTK的。
  2. python(或pygtk)從哪裏選擇gtk?
  3. 我該如何解決上述問題!?

我試過谷歌和其他堆棧溢出問題。但他們都沒有回答上述問題。

回答

1

我沒有正確檢查./configure輸出。問題是,我試圖安裝gtk和pygtk,而沒有安裝cairo和pango。所以pygtk跳過構建gtk包,因爲它沒有找到任何cairo包。這是在./configure腳本中提到的,但我沒有檢查過。

彙總:

要配置的PyGTK到Python需要folow中這些步驟

install sqlite-devel #If sqlite needed 
install python(2.7) 
install gtk(2.24.0) -> requires glib(2.27.3), atk(1.29.2), cairo(1.8.10), pango(1.22.4), gdk-pixbuf(2.21.3) 
install pygtk(2.24.0) -> requires pygobject-2.28.3, pycairo(1.8.10) 

上述所有包必須被編譯到相同的前綴,需要設置Python和PATHONPATH環境變量。軟件包的版本也起主要作用。在爲我工作的括號中增加了版本。

安裝某些軟件包時有許多依賴項,所以我必須使用yum安裝以下軟件包:libxext,librender,gettext,zlib,libgtk2-devel