centos6.X升级python3.X方法

centos6.X升级python3.X方法

1、下载

# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

2、解压

# tar -xvf Python-3.7.0.tgz 

3、编译、安装

# mkdir /usr/local/python3  

#yum -y install perl gcc make kernel-headers kernel-devel

# yum -y install libffi-devel 

# yum -y install zlib*

# cd Python-3.7.0

# ./configure --prefix=/usr/local/python3

# make && make install

4、建立新版本的链接

# mv /usr/bin/python /usr/bin/python2.6.6

# ln -s /usr/local/python3/bin/python3 /usr/bin/python

# python -V
Python 3.7.0


 在rhel6中安装python3.7的时候报如下错误
ModuleNotFoundError: No module named ‘_ctypes‘报错
是由于缺少libffi-devel开放库导致,可通过一下方法安装
rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/libffi-devel-3.0.5-3.2.el6.x86_64.rpm
重新编译安装python源码包即可


python升级带来的yum异常

# 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.0版本之间存在语法不一致问题。而CentOS 6自带的yum采用的是python2.6,当系统将python升级到3.0后,出现语法解释错误。

解决办法:

很简单,一是升级yum,一是修改yum的解释器为旧版本python2.6(如果你没有采用覆盖升级的话)

升级yum的作法就不详述了;

修改yum的解释器为旧版本python2.6:

vi /usr/bin/yum

将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.6"即可

猜你喜欢

转载自www.cnblogs.com/zwj-linux/p/11799750.html