0 背景:
默认安装的虚拟机(centos5.8系统)对应的python版本是2.4 (python -V), 此时如果安装storm高版本
eg: storm0.9.3 在执行 bin/storm报出语法错误, 如下:
line 61:normclasspath = cygpath if sys.platform == 'cygwin' else identity
需要升级python
升级做法如下:
1、下载
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
2、解压
tar jxvf Python-2.7.3.tar.bz2
3、编译安装
cd Python-2.7.3
./configure
make && make install
Python 默认安装目录在/usr/local/lib/python2.7
查看一下刚才安装的版本
/usr/local/bin/python -V,看到了 2.7.3 吧
4、更改系统默认版本
之前查看版本使用 /usr/local/lib/python2.7 -V,现在来把系统默认的Python指向刚才安装的Python2.6。
(如果有人问为什么不把2.4.3卸载呢?呃,貌似网上有讲yum是基于2.4.3,所以我也就没那样折腾)
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python2.7 /usr/bin/python
敲入 python -V 查看是否成功。
5、修复不能正常工作的yum( 这一步我没有做)
在完成了上面4步之后,如果有使用yum的话会发现出错,这是因为yum 依赖2.4.3而现在默认的 Python 版本是 2.7.3 。
vim /usr/bin/yum
将首行显示的 !#/usr/bin/python 修改为 !#/usr/bin/python2.4