参考:http://blog.csdn.net/hu19921016/article/details/72236966,原文是将Python2.7.5 升级到Python3.5.2。
注意:
1.如果升级过程中执行命令提醒权限不够可切换至管理员用户,可参考:http://www.linuxidc.com/Linux/2012-07/64530.htm,之后sudo+【命令】;
2.命令中的X.x.x就是你需要升级到的版本号,Y.y.y则为原版本号;
3.在python3的交互模式里可能会出现回退、方向键成乱码的现象,最开始需要
yum install readline-devel
第1步:更新gcc,gcc版本太老会导致新版本python包编译不成功
复制代码如下:
yum -y install gcc
系统会自动下载并安装或更新,等它自己结束
第2步:下载PythonX.x.x软件包
复制代码如下:
wget https://www.python.org/ftp/python/X.x.x/Python-X.x.x.tgz
注意:
按照上述命令下载的软件包会存放在你当前的工作目录下,wget命令是一个从网络上自动下载文件的自由工具,具体用法,请参考这篇文章:http://www.jb51.net/os/RedHat/73089.html ,当安装完成之后记得删除软件包。
第3步:解压已下载的二进制包并编译安装
复制代码如下:
解压:tar -zxvf Python-X.x.x.tgz
进入解压目录: cd Python-X.x.x
创建安装目录: mkdir /usr/local/pythonX.x.x
编译: ./configure –prefix=/usr/local/pythonX.x.x # 复制该命令可能出错,建议手打
安装: make && make install
第4步:建立软连接指向到当前系统默认python命令的bin目录,让系统使用新版本python
备份原有python:mv /usr/bin/python /usr/bin/pythonY.y.y
ln -s /usr/local/pythonX.x.x/bin/pythonX.x /usr/bin/python
注意:
1.如出现错误无法创建符号链接”/usr/bin/python”:文件已存在,将/usr/bin/python文件删除即可;
2.备份原版本python可做可不做,建议保留,日后可通过命令pythonY.y.y执行旧版本。
输入:
python -V
即可查看当前默认python版本
默认的python成功指向X.x.x以后,yum不能正常使用,需要修改yum的配置文件
第5步:修改yum配置文件
vim /usr/bin/yum
把文件头部的
!/usr/bin/python
改成
!/usr/bin/pythonY.y.y # 改为旧python在/usr/bin中的版本号
保存退出,yum即可正常使用。如若有其他命令、软件不能正常使用,仿照yum配置文件的修改方法,修改其配置文件即可。至此,更新完毕。
第6步:修改另外一个相关的配置文件
vim /usr/libexec/urlgrabber-ext-down
该配置文件与yum install 命令有关,如果不修改该文件会报错
File "/usr/libexec/urlgrabber-ext-down", line 28 except OSError, e:
这是因为python版本不匹配:
把文件头部的
!/usr/bin/python
改成
!/usr/bin/pythonY.y.y # 改为旧python在/usr/bin中的版本号
Get it!