最近开始学习Python,先前一直是在Windows平台下进行学习,成蒙前辈点拨,转向Linux。没想到只是搭建环境就耗费了N久,在这里索性做个总结。
一、为啥会出现这个问题
如果没有给系统特别安装过输入法,CentOS的输入法应该是ibus。CentOS6自带的python版本为2.6.6,我将其更新至python2.7.9之后就出现了这个问题。ibus的设置也打不开了,输入法候选框也没了。
解决yum无法使用的经历点醒了我。yum默认调用的python命令,由于我为了方便,将python命令指向了python2.7,而非之前的python2.6,所以在yum的设置文件中将其修改为调用原有的python2.6路径即可。那么,我在想这次应该也是这个问题。
二、解决过程
ok,说干就干。那么问题来了,改哪些设置文件?
查到以下解决办法:
(一)修改
[Feniox@Feniox python_code]$ which python
/usr/local/bin/python
这个是我们安装python2.7的路径,原生python2.6位于/usr/bin中,此时查找环境变量PATH
[Feniox@Feniox python_code]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/Feniox/bin
我们可以看到,/usr/local/bin在/usr/bin之前,也就是说,现在调用python的程序全去用了python2.7
干掉python2.7,在找到python2.7的路径里干掉他;要么,修改/usr/local/bin中的python链接,指向python2.6
of course,你还可以修改环境路径,把/usr/bin拉到前面去,虽然我不知道这种方法会出什么岔子。所以我并没有采用这个办法。我相信在安装vim+pyhton开发环境时,受尽折磨悟出来的道理:Linux无比自由,只要你牛逼,那就是个变形金刚!
(二)修改配置文件
这才是王道。
首先,在搜索ibus配置文件中哪里用到了python,得出一下三个文件
usr/libexec/ibus-ui-gtk、/usr/ bin/ibus-setup、/usr/libexec/ibus-engine-table
从其命名上就能看出来,ui,setup,engine-table。vim打开,搜索python字符。果然找到了一堆形如exec python ……的语句。很明显,调用python执行某个.py文件。
将python改为 /usr/bin/python2.6,保存。
此时再去看ibus是否恢复?答案是否定的。因为ibus还在使用先前的配置。重启ibus(原谅我不知道命令,并且赶时间选择了直接重启),修改生效,问题解决。