本文主要是参考帖子,感谢这位博主,我主要是对相关操作进行补充和说明。
本文主要是在linux(centos)下安装Python3.7.1
1.下载安装Python-3.7.1
1) 下载Python-3.7.1.tgz软件包
可以在官网上进行下载,或者利用Linux的wget工具。其中wget可以使用yum install wget来进行安装
[root@localhost ~]# yum install wget [root@localhost ~]# mkdir -p /server/tools/ [root@localhost tools]# cd /server/tools/ [root@localhost tools]# wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
2) 解压编译安装
对压缩包进行解压和安装,但解压前,需要确认安装了make和gcc。
[root@localhost tools]# yum install make gcc gcc-c++
还有,centOS7在编译安装Python3.7是,会缺少一个'ctypes'的文件和zlib相关依赖包,详细原因见这里。因此需要安装上这个两个软件包
yum -y install libffi-devel
yum -y install zlib*
之后就是对Python-3.7.1.tgz进行解压安装
[root@localhost tools]# yum install make gcc gcc-c++ [root@localhost tools]# tar -xf Python-3.7.1.tgz [root@localhost tools]# cd Python-3.7.1 [root@localhost Python-3.7.1]# ./configure [root@localhost Python-3.7.1]# make [root@localhost Python-3.7.1]# make install
注意,如果make之后出现这样的错误“make *** 没有指明目标并且找不到 makefile。 停止”,说明你忘记执行./configure,执行以下,再make,这里参考了这篇文章。
3) 安装完成,需要更改默认的python版本
# 检查当前默认的python2,默认自带的python位置在”/usr/bin/“目录下
[root@localhost Python-3.7.1]# ll /usr/bin/python* lrwxrwxrwx. 1 root root 7 12月 19 15:22 /usr/bin/python -> python2 lrwxrwxrwx. 1 root root 9 12月 19 15:22 /usr/bin/python2 -> python2.7 -rwxr-xr-x. 1 root root 7216 4月 11 2018 /usr/bin/python2.7
# 检查新安装的python3,默认编译安装的python位置在”/usr/local/bin/“目录下
[root@localhost ~]# ll /usr/local/bin/python* lrwxrwxrwx. 1 root root 9 12月 18 15:28 /usr/local/bin/python3 -> python3.7 -rwxr-xr-x. 2 root root 13979632 12月 18 15:28 /usr/local/bin/python3.7 lrwxrwxrwx. 1 root root 17 12月 18 15:28 /usr/local/bin/python3.7-config -> python3.7m-config -rwxr-xr-x. 2 root root 13979632 12月 18 15:28 /usr/local/bin/python3.7m -rwxr-xr-x. 1 root root 3097 12月 18 15:28 /usr/local/bin/python3.7m-config lrwxrwxrwx. 1 root root 16 12月 18 15:28 /usr/local/bin/python3-config -> python3.7-config
# 修改默认的python
# 删除旧的python的软连接,创建新的python2和python3的软连接
[root@localhost Python-3.6.2]# cd /usr/bin/ [root@localhost bin]# rm -f python2 [root@localhost bin]# mv python python2.6.ori #这里是参考别人的,但实际我的版本并没有这个文件,可能我忘了。 [root@localhost bin]# ln -s python2.7 python2 [root@localhost bin]# ln -s /usr/local/bin/python3 /usr/bin/python
最后会形成这样
[root@localhost ~]# ll /usr/bin/python* lrwxrwxrwx. 1 root root 22 12月 18 15:31 /usr/bin/python -> /usr/local/bin/python3 lrwxrwxrwx. 1 root root 9 12月 18 15:41 /usr/bin/python2 -> python2.7 -rwxr-xr-x. 1 root root 7216 4月 11 2018 /usr/bin/python2.7
2.后续软件问题
# python的默认版本修改为3.x之后,系统对于yum的调用会出问题,所以需要修改下yum的相关配置
[root@localhost bin]# vim /usr/bin/yum
# 需要检查确认以下配置
#!/usr/bin/python2
# 这样,修改后的yum依然可以调用python2.6.6的python,在使用yum安装软件时就不会报错了
# 以上是在CentOS6.5系统上进行的python版本升级,CentOS7.2上面的默认python版本为2.7.5,可以使用相同的方法进行修改,不过CentOS7.2的python链接稍有不同,需要注意
[root@localhost ~]# ll /usr/bin/python* lrwxrwxrwx. 1 root root 7 10月 26 2016 /usr/bin/python -> python2 lrwxrwxrwx. 1 root root 9 10月 26 2016 /usr/bin/python2 -> python2.7 -rwxr-xr-x. 1 root root 7136 11月 20 2015 /usr/bin/python2.7
# 另外就是,CentOS7.2还有另外一个文件需要修改
[root@localhost ~]# vim /usr/libexec/urlgrabber-ext-down
# 检查确认以下配置:
#!/usr/bin/python2