centos6.4 升级python27引发的一系列问题以及解决方案

1. python内置format函数可以用来千分位格式化数值,如

>>>format(1234567)

1,234,567

>>>format(1234.45)

1,234.45

无奈python26不支持,没法,只能升到python27


2.升级到python27

yum install gcc gcc-c++

下载python27源码包,如python-2.7.5.tar.gz

tar -xzvf python-2.7.5.tar.gz

cd python-2.7.5

./configure --prefix=/usr/local/python27   #此一步务必记住不要覆盖掉centos6.4自带的python26,指定一个新的安装路径

make && make install

更改系统默认python指向

mv /usr/bin/python /usr/bin/python2.6.6.old  #备份自带python26

ln -s /usr/local/bin/python27 /usr/bin/python   # 将系统默认python指向新安装的python27

python -V 可看到Python 2.7.5


3.yum默认使用的python版本是2.6.6,现在系统指向了python27,所以yum命令会有问题,yum不能正常工作。解决如下:

#vi /usr/bin/yum

将文件头部的#!/usr/bin/python改为

#!/usr/bin/python2.6


4.升级到了python27,发现新的问题,其他依赖系统自带python26的软件,如中文输入法ibus不好使了,只能输入汉字,不能浮显备选项

比如输入“bir”,不能浮显出“1.比如  2.必然  3.逼人...”等备选项)

原因也简单,yum install "@Chinese Support"安装的ibus输入法是基于python26的(因为centos6.4系统内置python26),升级到python27后,

浮显备选项的函数不好使了。不能显示备选项,中文输入痛苦无比,还不如智能ABC。解决办法:

1.用自己安装的python27安装一个虚拟环境,激活并使用虚拟环境开发,部署代码

2.还原系统默认python指向,指向26,让其他软件工作正常


如果需要切换python26(内置)/27,其实很简单,更改系统默认python文件,软链接指向所需版本即可

由于easy_install   pip  virtualenv默认安装也是系统全局(System wide)的命令,也要随着python版本对应变化。如果没安装这几个,注释掉切换脚本中对应行。

附切换python26/python27脚本:

#!/bin/bash
#
# switch python in (26, 27)
#
#
# processname: switch_python.sh
#

case "$1" in
    py27)
        echo "Starting switch to python27"
        ln -sf /usr/local/python27/bin/python /usr/bin/python
        ln -sf /usr/local/python27/bin/easy_install /usr/bin/easy_install
        ln -sf /usr/local/python27/bin/pip /usr/bin/pip
        ln -sf /usr/local/python27/bin/virtualenv /usr/bin/virtualenv
        echo "Success...already27." 
    ;;
    py26)
        echo "Starting switch to python26"
        ln -sf /usr/bin/python2.6.6.old /usr/bin/python
        ln -sf /usr/bin/easy_install-2.6 /usr/bin/easy_install
        ln -sf /usr/bin/pip-2.6 /usr/bin/pip      
        ln -sf /usr/bin/virtualenv-2.6 /usr/bin/virtualenv
        echo "Success...already26."  
    ;;
    *)
        echo "Usage: $0 {py26|py27}" 
        exit 1
    ;;
esac




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值