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

本文主要是在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线性回归

    目录 数据可视化 梯度下降 结果可视化 数据可视化 import numpy as np import tensorflow as tf import matplotlib.pyplot as plt ...

  2. SpringBoot整合kafka(安装)

    项目路径:https://github.com/zhaopeng01/springboot-study/tree/master/study_14 序言 Kafka 是一种高吞吐的分布式发布订阅消息系统 ...

  3. Redis的高可用详解:Redis哨兵、复制、集群的设计原理,以及区别

    谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制. 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能. ...

  4. project2016安装与破解

      分步阅读 project2016发布增加了许多功能.Microsoft Office 2016 官方正式版发布!这是微软发布的全新办公软件套件,相比现有Office 2013的变化也不是很大,界面 ...

  5. Dubbo HelloWord 与 Spring Boot 整合

    实现消费者项目代码调用提供者项目代码,使用 zookeeper 做为注册中心 interface 项目 pom.xml <?xml version="1.0" encodin ...

  6. 批处理bat相关

    时间 %date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2% 判断 if %date:~2,1%==/ (echo en ...

  7. 1.2.1 Maven到底是什么鬼

    解释之前,提1个小问题. 1.1.假如你正在Eclipse下开发两个Java项目,姑且把它们称为A.B,其中A项目中的一些功能依赖于B项目中的某些类,那么如何维系这种依赖关系的呢? 很简单,这不就是跟 ...

  8. Activity的onSaveinstaceState()保存fragment状态

    Activity的onCreat方法: @Override protected void onCreate(Bundle savedInstanceState) { FragmentManager s ...

  9. internetwork 与 the Internet的区别

    internetwork 表示:互连网络 the Internet 表示:因特网

  10. 第二章 SpringCloud之Eureka-Server服务发现组件

    1.Eureka简介 文档:https://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html ############### ...