因為python版本需求,通過下載python2.7.6源碼包,編譯安裝了python2.7版本。安裝完該版本後,發現ibus輸入法雖然可以激活使用,但是不顯示控制面板,無法更改設置,連候選詞條框都沒有,使用幾乎癱瘓。由於ibus依賴了一些python模塊,所以推測是python版本的問題。
《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm
Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm
在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm
1. 嘗試打開輸入法設置
#ibus-setup
Traceback (most recent call last):
File "/usr/share/ibus/setup/main.py", line 28, in <module>
import gtk
Import Error: No module named gtk
以上模塊加載錯誤信息說明,當前的python版本沒有gtk模塊。之前安裝ibus時,ibus-gtk庫是安裝在python2.6環境下的,說明鍵入“python”之後,終端調用的是python2.7版本,查看:
#python --version
Python 2.7.6
#which python
/usr/local/bin/python
為什麼會是/usr/local/bin下面的python(2.7),而不是/usr/bin/下面的python(2.6)呢,這關乎到系統環境變量執行路徑的設置順序,查看PATH:
#echo $PATH
/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/rvm/gems/ruby-2.1.1/bin:/usr/local/rvm/gems/ruby-2.1.1@global/bin:/usr/local/rvm/rubies/ruby-2.1.1/bin:/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rvm/bin:/usr/java/jdk1.7.0_45/bin:/usr/java/jdk1.7.0_45/jre/bin:/usr/Hadoop/bin:/usr/zookeeper/bin:/usr/chukwa/bin:/usr/chukwa/sbin:/usr/chukwa/etc/chukwa:/usr/hbase/bin:/usr/pig/bin:/usr/hive/bin:/root/bin
從中可以看出,/usr/local/bin在/usr/bin的前面,所以會優先查找/usr/local/bin目錄,從而找到python(2.7.6)來執行。
2. 解決
為了在不影響原來系統的正常路徑查找順序以及python版本的設置的情況下,能夠讓ibus定位到python2.6.6版本,可以用如下暴力解決方法:
刪除或者修改/usr/local/bin/python文件:
#mv /usr/local/bin/python{,.bak}
再次執行python:
#python
Python 2.6.6 (r266:84292, Jan 22 2014, 09:37:14)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
發現已經是之前的舊版本2.6.6了
若要使用2.7.6版本,可以用/usr/local/bin目錄下python2.7或者python2來執行:
#python2.7
Python 2.7.6 (default, Apr 19 2014, 11:38:31)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
重啟系統,然後執行ibus-setup:
#ibus-setup
出現設置界面,設置好輸入法之後,ibus就可以正常使用了
Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡