2014-03-05 72 views
1

我開發了一個pygtk應用程序,我需要將它發佈給客戶。 我在Ubuntu中使用python 2.7,pygtk 2.2。正在發佈pygtk應用程序

我的問題是如何將所需的軟件包(python,pygtk,gobject)與我的應用程序捆綁在一起,以便即使這些軟件包未安裝在客戶機中,我也可以運行我的應用程序。

我試過用pyinstaller,但是,可執行文件依賴於glibc,即用更高的glibc版本創建的可執行文件不適用於glibc版本較低的機器。

那麼有沒有什麼辦法可以創建一個版本目錄,其中包含所有需要的軟件包,這樣我就可以在任何系統中運行我的應用程序而無需安裝軟件包。

在此先感謝,

+0

下載所有必要的資源,寫一個makefile。 – michaelmeyer

+0

應該在makefile中添加什麼?我無法安裝這些軟件包,因爲我無權這樣做。你能提供任何文件/例子嗎? – user2109788

+0

難道你不能安裝到本地前綴? (像〜/ .local /) –

回答

0

只需將解決方案添加到我自己的問題!

作爲下載源代碼中安裝的軟件包上述意見建議,並在一臺機器有glibc2.5編譯它們然後使用創造了我的PyGTK應用程序的二進制可執行pyinstaller

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

彙總:

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

  1. 安裝的sqlite-devel的#如果sqlite的需要
  2. 安裝python(2.7)
  3. 安裝GTK(2.24。 0) - >需要glib(2.27.3),atk(1.29.2),cairo(1.8.10),pango(1.22.4),gdk-pixbuf(2.21.3)
  4. install pygtk(2.24.0 ) - >需要pygobject-2.28.3,pycairo(1.8.10)

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

有很多依賴,同時安裝一些包,所以我不得不安裝以下用yum包: libxext,librender,gettext的,zlib的,libgtk2-devel的

+0

這是什麼環境變量'PATHONPATH'?它的目的是什麼? – AjayKumarBasuthkar

+0

@AjayKumarBasuthkar我希望這個鏈接可以幫助http://stackoverflow.com/questions/19917492/how-to-use-pythonpath – user2109788