2012-04-26 86 views
3

我有一個應用程序被困在python2.6。由於特定和複雜的擴展名,我無法將它移植到python2.7。如何從Ubuntu的源代碼python2.6編譯pygtk 12.04

問題是12.04將python2替換爲python2.6,因爲python2.7成爲默認的python版本。

我需要然後從源代碼爲python2.6構建pygtk。我遵循自述文件,但我做錯了什麼。 (文檔相當簡潔)

構建看起來不錯,因爲我可以導入gtk,如果我在解壓縮的歸檔文件夾中(我做了一個python -c'導入gtk')。 但make安裝無法正常工作。

AFAICT,我已將PYTHON & PYTHONPATH變量導出到正確的路徑。

PYTHONPATH=/usr/lib/python2.6/dist-packages 
PYTHON=/usr/bin/python2.6 

對這個配置有什麼問題有任何想法嗎?

回答

2

我不知道我是否比你更遠,但這是我到目前爲止所做的。也許我們可以一起解決這個問題。

$ sudo su 
# pip install pygtk 

這產生了一堆的錯誤,包括「要在支持的方式建立的PyGTK,閱讀INSTALL文件。」讀取和其他的東西,我想這:

# cd build/pygtk 
# chmod 755 configure 
# PYTHON=/usr/bin/python2.6 ./configure --prefix=/usr 

此發現的Python版本是正確的,但現在找不到GLIB。錯誤包括,「這通常意味着GLIB安裝不正確。」當我在config.log看,我發現這個錯誤,「致命的錯誤:glib.h:沒有這樣的文件或目錄」。我發現a help page,這表明如果您尚未安裝GLIB的開發版本,您可能會遇到此錯誤。

# apt-get install libglib2.0-dev 
# PYTHON=/usr/bin/python2.6 ./configure --prefix=/usr 

進展!我現在看到一個新的錯誤,「無包」pygobject-2.0「找到」。該錯誤出現在a forum post中,建議安裝python-gobject-dev

# apt-get install python-gobject-dev 
# PYTHON=/usr/bin/python2.6 ./configure --prefix=/usr 

沒有錯誤,所以我嘗試運行makemake install。第一個工作,但安裝失敗,出現錯誤,「/ bin/bash:第16行:../py-compile:Permission denied」。以root身份運行時,拒絕權限是很奇怪的。經過一段時間後,我回到配置腳本的輸出中,看到一條消息,「檢查PYCAIRO ... no」,然後是另一個消息,「由於缺少pycairo而沒有檢查gtk」。有點猜測會讓我安裝另一個模塊。

# apt-get install python-cairo-dev 
# PYTHON=/usr/bin/python2.6 ./configure --prefix=/usr 

解決了pycairo投訴,但還有更多,包括GTK。

# apt-get install python-gtk2-dev 
# PYTHON=/usr/bin/python2.6 ./configure --prefix=/usr 

解決了大部分投訴,只是LIBGLADE丟失了。好吧,所有的模塊都會生成,但是它說:「Numpy support:no」。

# make 
# make install 

這個失敗與我之前看到的相同錯誤「/ bin/bash:第16行:../py-compile:Permission denied」。

我現在要離開它,稍後再回來。

1

嘗試使用easy_install for 2.6,假設在你的Ubuntu上安裝了2.6和2.7。你可以有easy_install(默認爲2.7),easy_install-2.6可以安裝2.6的專用包。