Linux下升级Python到3.5.2版本

本文主要介绍在Linux(CentOS)下将Python的版本升级为3.5.2的方法

众所周知,在2020年python官方将不再支持2.7版本的python,所以使用3.x版本的python是必要的,但是linux中默认安装的python一般是2.6和2.7版本的,要是使用linux下的python就很有必要升级一下

进入正题

1.检查确认系统的相关信息

[root@zstest1 ~]# cat /etc/redhat-release 
CentOS release 6.5 (Final)
[root@zstest1 ~]# uname -a
Linux zstest1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@zstest1 ~]# python -V
Python 2.6.6

我的进行软件升级系统是CentOS6.5-x86_64的,内核2.6.32,当前的python版本号为2.6.6

2.下载安装Python-3.5.2

1) 下载Python-3.5.2.tgz软件包

[root@zstest1 ~]# mkdir -p /server/tools/
[root@zstest1 tools]# cd /server/tools/
[root@zstest1 tools]# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

2) 解压编译安装

[root@zstest1 tools]# tar -xf Python-3.5.2.tgz
[root@zstest1 tools]# cd Python-3.5.2
[root@zstest1 Python-3.5.2]# ./configure
[root@zstest1 Python-3.5.2]# make
[root@zstest1 Python-3.5.2]# make install

# 如果编译出错,需要检查make,gcc等是否安装好

yum install make gcc gcc-c++ 

3) 安装完成,需要更改默认的python版本

# 检查当前默认的python2

[root@zstest1 Python-3.5.2]# ll /usr/bin/python*
-rwxr-xr-x  2 root root 9032 11月 22 2013 /usr/bin/python
lrwxrwxrwx. 1 root root    6 3月  20 2016 /usr/bin/python2 -> python
-rwxr-xr-x  2 root root 9032 11月 22 2013 /usr/bin/python2.6

# 检查新安装的python3

[root@zstest1 Python-3.5.2]# ll /usr/local/bin/python*
lrwxrwxrwx 1 root root       9 10月 31 16:48 /usr/local/bin/python3 -> python3.5
-rwxr-xr-x 2 root root 9630001 10月 31 16:48 /usr/local/bin/python3.5
lrwxrwxrwx 1 root root      17 10月 31 16:48 /usr/local/bin/python3.5-config -> python3.5m-config
-rwxr-xr-x 2 root root 9630001 10月 31 16:48 /usr/local/bin/python3.5m
-rwxr-xr-x 1 root root    3066 10月 31 16:48 /usr/local/bin/python3.5m-config
lrwxrwxrwx 1 root root      16 10月 31 16:48 /usr/local/bin/python3-config -> python3.5-config

# 修改默认的python

[root@zstest1 Python-3.5.2]# cd /usr/bin/
[root@zstest1 bin]# rm -f python2
[root@zstest1 bin]# mv python python2.6.ori
[root@zstest1 bin]# ln -s python2.6 python2
[root@zstest1 bin]# ln -s /usr/local/bin/python3 /usr/bin/python

# 删除旧的python的软连接,创建新的python2和python3的软连接

4) 检查修改后的python版本

[root@zstest1 bin]# python -V
Python 3.5.2
[root@zstest1 bin]# python2 -V
Python 2.6.6
[root@zstest1 bin]# python3 -V
Python 3.5.2

# 可以看到,默认打开的python版本已经是3.5.2,至此python的版本已经升级成功

3.后续的软件问题处理

# python的默认版本修改为3.x之后,系统对于yum的调用会出问题,所以需要修改下yum的相关配置

[root@zstest1 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@centos72 ~]# 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@centos72 ~]# vim /usr/libexec/urlgrabber-ext-down

# 确认以下配置:

#!/usr/bin/python2

-END-

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小詹同学

受用一生的高效 PyCharm 使用技巧(三)

大家好,这是本系列 PyCharm 的高效使用技巧的第三篇。按照惯例,本次还是分享 5 个。

10210
来自专栏快乐学Python

解决Python的恼人的encode、decode字符集编码问题

不论是什么编程语言,都免不了涉及到字符集的问题,我们经常在读写本文、获取网页数据等等各类情景下,需要和字符集编码打交道。这几天在公司就遇到了这么一个问题,由于软...

27710
来自专栏技术圈

Python语言关于文件操作

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

7130
来自专栏萌海无涯

python学习笔记04

在上一篇文章中我们给大家介绍了ipython的安装,ipython是python的一个交互式shell,相较于ipython,我们今天介绍的对象——jupyte...

7510
来自专栏测试游记

测试开发进阶(八)

self._target(*self._args, **self._kwargs)

6920
来自专栏CDA数据分析师

Python简史:开发者的小小副业如何成为全球最热编程语言?

这是针对新型编程语言 Python 举办的第一次 workshop,共有二十来个程序员参加,Barry Warsaw 是其中之一。他记得当时这些第一批用 Pyt...

15710
来自专栏机器学习算法与Python学习

Python计算机二级模拟题,现在开始!

2016年开始人工智能大数据的火热引发了python学习的狂潮,也引发了全国计算机等级考试(National Computer Rank Examination...

59830
来自专栏快乐学Python

Python装饰器入门教程 | 新手教程

昨天简单聊了下Flask的学习感想,然后分享了一些Flask的学习方式与视频。其中提到在学习Python Web前,请先将python基础及装饰器等知识有一个了...

10410
来自专栏一名叫大蕉的程序员

靠转型大数据涨薪的日子一去不复返了 No.156

在 2013 年,大数据刚刚崭露头角,有一大批程序员,在那个时间点,踏上了靠转型大数据升职加薪的日子。在那个时候,只要稍微懂一点点 Hadoop,会写一点点 H...

9430
来自专栏Golang开发

Spark SQL

官方地址 http://spark.apache.org/sql/ Spark SQL是Spark用来处理结构化数据的一个模块,它提供了2个编程抽象:Data...

9610

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励