在CentOS里安装Python3

  1. 安装环境
    yum install gcc
    yum install zlib-devel
    yum install make
    yum install readline-devel
  2. 下载python版本
    wget http://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz
  3. 解压缩、编译和安装
    tar -zxvf Python-3.4.0.tgz
    cd Python-3.4.0
    ./configure –prefix=/opt/python3
    make all
    make install
    清除之前编译的可执行文件及配置文件。
    make clean
    清除所有生成的文件
    make distclean
  4. 查看安装的新版本信息
    /opt/python3/bin/python3 -V
    Python 3.4.0
    由此看出编译安装的新版本python生效了
  5. 做个软连接到当前用户的bin目录
    此时,新版本的python没有覆盖原来的版本,先将原来的python重命名
    mv /usr/bin/python /usr/bin/python_old
    重新建立超链接
    ln -s /opt/python3/bin/python3 /usr/bin/python3
    再次打开python则显示新版本
    python

    Python 3.4.3 (default, Oct 12 2015, 21:31:59)
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux
    Type “help”, “copyright”, “credits” or “license” for more information.

  6. 升级安装好新版本python以后,默认依然是python2.6
    vi /usr/bin/yum
    将文件头部的#!/usr/bin/python修改为 #!/opt/python3/bin/python3或#!/usr/bin/python3即可。

说明

问题一:

python3命令进入到交互界面,结果发现,退格键,方向键等好多键都不能正常使用,

解决办法:

安装readline-devel修复解决

问题二:

yum  
File "/usr/bin/yum", line 30  
except KeyboardInterrupt, e:   
                         ^  
SyntaxError: invalid syntax  
原因:

这是因为yum采用python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.X版本之间存在语法不一致问题。当系统将python升级到3.X后,出现语法解释错误。

解决办法:

很简单,一是升级yum,一是修改yum的解释器为旧版本python2.6(如果你没有采用覆盖升级的话)。
升级yum的作法就不详述了。修改yum的解释器为旧版本python2.6:
$ vi /usr/bin/yum
将第一行”#!/usr/bin/python” 改为 “#!/usr/bin/python_old”即可。