本文主要是参考帖子,感谢这位博主,我主要是对相关操作进行补充和说明。

本文主要是在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

Linux下安装升级python的更多相关文章

  1. Linux 下编译升级 Python

    一.Centos下升级python3.4.3 1.下载安装 wget http://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz wget http ...

  2. Linux下安装OpenCV+Python支持

    以下说明在Linux下Python和OpenCV结合安装的过程,Python要使用OpenCV模块,则必须导入OpenCV提供的包,所以要提供Python支持,首先在安装OpenCV前安装必要的组件, ...

  3. linux下安装/升级openssl

    (2810)  (1) 安装环境: 操作系统:CentOs7 OpenSSL Version:openssl-1.0.2j.tar.gz 安装: 目前版本最新的SSL地址为 http://www.op ...

  4. centos下安装升级python到python3.5

    本文摘抄自:https://www.cnblogs.com/edward2013/p/5289056.html  请支持原版 CentOS7安装Python3.5   2. 安装Python的依赖包 ...

  5. linux下安装python环境

    1.linux下安装python3 a. 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件) yum groupinstall 'Development To ...

  6. linux下安装python

    在Linux下安装Python的操作相当简单,按如下步骤操作即可: 命令: wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgzt ...

  7. Linux 下安装python软件包(pip、nose、virtualenv、distribute )

    新手刚开始学习Python,目前学习<笨方法学python>ing- 在学习习题46时需要安装几个软件包:pip.nose.virtualenv.distribute !在此记录Linux ...

  8. linux下安装python linux下一些常用的命令

    注意 ubuntukylin-14.04.2-desktop-amd64 自带python2.7.6 这个说的比较详细 http://wenku.baidu.com/link?url=gaeFcQrc ...

  9. Linux下安装pip(遇到了python2.6升级为python2.7道路上的坑,原因已经找到,只差临门一脚了,以后补上)

    1.先说一下什么是pippip 是“A tool for installing and managing Python packages.”,也就是说pip是python的软件安装工具2.下面介绍怎么 ...

随机推荐

  1. TensorFlow基本计算单元——变量

    # -*- coding: utf-8 -*- import tensorflow as tf a = 3 # 创建变量 w = tf.Variable([[0.5, 1.0]]) #行向量 x = ...

  2. spark 笔记 2: Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing

    http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf  ucb关于spark的论文,对spark中核心组件RDD最原始.本质的理解, ...

  3. DAY 5模拟赛

    DAY 5 廖俊豪神仙出题 T1 最小差异矩阵(a.cpp, a.in, a.out) [题目描述] 有一个 n*m 的矩阵,矩阵的每个位置上可以放置一个数.对于第 i 行,第 i 行的差异定义为该行 ...

  4. 监控部署nagios+snmp

    参看是否有安装:rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel 未安装基础支持套件的先安装: yum install -y ...

  5. 对redis的一些理解

    缓存就是在内存中存储的数据备份,当数据没有发生本质变化的时候,我们避免数据的查询操作直接连接数据库,而是去    内容中读取数据,这样就大大降低了数据库的读写次数,而且从内存中读数据的速度要比从数据库 ...

  6. python--006

    一.函数的作用域 1.作用域在定义函数时就已经固定住了,不会随着调用位置的改变而改变 例一: name='alex' def foo(): name='lhf' def bar(): print(na ...

  7. python_面试题_TCP的三次握手与四次挥手问题

    1.相关问题 问题1: 请详细描述三次握手和四次挥手的过程,并画出状态图 问题2: 四次挥手中TIME_WAIT状态存在的目的是什么? 问题3: TCP是通过什么机制保障可靠性的? 2.问题回答 问题 ...

  8. 【VS开发】【图像处理】相机中白平衡的算法模拟实现

    相机主要技术点为3A算法. 而3A算法主要指的是自动对焦(AF).自动曝光(AE)及自动白平衡(AWB).自动白平衡:根据光源条件调整图片颜色的保真程度. 网上时常有类似招聘如下的招聘信息: ---- ...

  9. Flask的 sqlalchemy 操作要点

    1.filter和filter_by的区别 filter,使用复杂的过滤条件,一般用两个等号进行匹配 filter,使用简单的过滤条件,一般用一个等号进行匹配 Answer.query.filter( ...

  10. python 并发编程 多路复用IO模型

    多路复用IO(IO multiplexing) 这种IO方式为事件驱动IO(event driven IO). 我们都知道,select/epoll的好处就在于单个进程process就可以同时处理多个 ...