前言

1.首先来看一下系统版本

  1. [root@python3 ~]# cat /etc/redhat-release
  2. CentOS Linux release 7.7.1810 (Core)

2.更新一下yum源,yum源我这里用的都是阿里云的源

  1. [root@python3 ~]# cd /etc/yum.repos.d/
  2.  
  3. [root@python3 yum.repos.d]# mkdir bak
  4.  
  5. [root@python3 yum.repos.d]# mv * bak
  6.  
  7. [root@python3 yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo
  8.  
  9. [root@python3 yum.repos.d]# wget http://mirrors.aliyun.com/repo/epel-7.repo

3.安装python3.7之前需要先安装一些依赖,,这也是上面更新yum源的原因

  1. [root@python3 ~]# yum -y install zlib-devel bzip2-devel openssl-devel openssl-static ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel lzma gcc
  2.  
  3. [root@python3 ~]# yum -y groupinstall "Development tools"

yum -y install gcc
yum install zlib* -y
yum -y install libffi-devel tk-devel
yum install mysql-devel

不安装也有可能不会报错,但是安装了一定不会报错,安不安装自己把握。

4.下载python3.7安装包,方法很多,我这里直接用wget从官网上下载

  1. [root@python3 ~]# cd /usr/local/src/
  2.  
  3. [root@python3 src]# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz

将安装包下载到/usr/local/src/目录下

5.解压&&移动

  1. [root@python3 src]# tar xvf Python-3.7.0.tar.xz
  2.  
  3. [root@python3 src]# mv Python-3.7.0 /usr/local/python-3.7
  4.  
  5. [root@python3 src]# cd /usr/local/python-3.7/

6.安装&&编译

  1. [root@python3 python-3.7]# ./configure --prefix=/usr/local/sbin/python-3.7

将python3.7安装到/usr/local/sbin/python-3.7目录下

  1. [root@python3 python-3.7]# make && make install

安装完成后,若出现以下两行,说明安装成功;

  1. Installing collected packages: setuptools, pip
  2. Successfully installed pip-10.0.1 setuptools-39.0.1

7.安装成功之后就能使用了

  1. [root@python3 python-3.7]# /usr/local/sbin/python-3.7/bin/python3
  2. Python 3.7.0 (default, Mar 15 2019, 00:44:37)
  3. [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>>
  6.  
  7. 【此处退出的命令 exit()】
  8.  
  9. 虽然能用了,但是命令较长使用起来并不方便,we konw 系统本身是带的有python的,看一下版本

[root@python3 ~]# python -V

Python 2.7.5

8.看一下python命令的绝对路径

  1. [root@python3 ~]# which python
  2.  
  3. /usr/bin/python
  4.  
  5. [root@python3 ~]# ll /usr/bin/ |grep python
  6.  
  7. -rwxr-xr-x. 1 root root 11312 Nov 14 00:00 abrt-action-analyze-python
  8. lrwxrwxrwx. 1 root root 7 Mar 14 18:19 python -> python2
  9. lrwxrwxrwx. 1 root root 9 Mar 14 18:19 python2 -> python2.7
  10. -rwxr-xr-x. 1 root root 7216 Oct 31 07:46 python2.7

可以看到python命令是通过软链接连接到python2.7的,[做运维的小年轻]那我们现在安装了python3.7,是不是可以将python命令做一个软链接链接到python3,答案是肯定的昂。

9.将python命令通过软链接指向到python3命令(就是上面那一大串/usr/local/sbin/python-3.7/bin/python3)

  1. [root@python3 ~]# rm -rf /usr/bin/python
  2.  
  3. [root@python3 ~]# ln -sv /usr/local/sbin/python-3.7/bin/python3 /usr/bin/python
  4.  
  5. ‘/usr/bin/python -> ‘/usr/local/sbin/python-3.7/bin/python3
  6.  
  7. [root@python3 ~]# ll /usr/bin/ |grep python
  8.  
  9. -rwxr-xr-x. 1 root root 11312 Nov 14 00:00 abrt-action-analyze-python
  10. lrwxrwxrwx. 1 root root 38 Mar 14 19:24 python -> /usr/local/sbin/python-3.7/bin/python3
  11. lrwxrwxrwx. 1 root root 9 Mar 14 18:19 python2 -> python2.7
  12. -rwxr-xr-x. 1 root root 7216 Oct 31 07:46 python2.7

10.查看现在的默认版本

  1. [root@python3 ~]# python -V
  2. Python 3.7.0

11.修改完python默认版本之后,会存不能执行yum命令,需要做一些修改,如下:

  1. Vim /usr/bin/yum
  2.  
  3. !/usr/bin/python 改成 !/usr/bin/python2.7
  4.  
  5. Vim /usr/libexec/urlgrabber-ext-down
  6.  
  7. /usr/bin/python 改为 /usr/bin/python2.7
  8.  
  9. Vim /usr/bin/yum-config-manager
  10.  
  11. #!/usr/bin/python 改为 #!/usr/bin/python2.7

12.最后将pip指向到python3.7

  1. [root@python3 ~]# ln -sf /usr/local/sbin/python-3.7/bin/pip3 /usr/bin/pip
  2.  
  3. [root@python3 ~]# pip --version
  4. pip 10.0.1 from /usr/local/sbin/python-3.7/lib/python3.7/site-packages/pip (python 3.7)

大功告成。

Centos7.7下安装Python3.7 并兼容python2.7的更多相关文章

  1. Centos7环境下安装python3.6.4 并与python2共存

    最近安装了新系统centos7,本身自带python2.7,但是由于需要使用python3 来运行一些应用,所以想到在centos环境下安装python3,并保证其和python2 可以共存. 步骤如 ...

  2. centos7.2下安装python3.6.2

    centos7.2默认已经安装了python2.7.5,因此要安装python3.6的话,得从python官网上下载相应版本的安装包 查看python2.7 1.下载:wget https://www ...

  3. centos7下安装Python3.7(与python2共存)

    2019-01-22   22:50:05 centos7默认安装的是python2.7,然而python2基本上要淘汰了,所以有必要安装最新的python3 python,g++这些工具一般安装在/ ...

  4. Centos7.6下安装Python3.7

    前言 话说不会开发的运维不是一个好的DBA,所以我要开始学习python了,写博客记录一下我的学习过程,另外别欺负我新来的,那个每天更博的技术流ken是我哥. 不说了,时间宝贵,开整. 1.首先来看一 ...

  5. CentOS7.5下安装Python3.7 --python3

    1.将本地安装包上传到远程主机上 scp Python-3.7.0.tgz root@123.206.74.24:/root 2.扩展 安装Python之前安装Python相关的依赖包(主要是u红色部 ...

  6. centos7.2下安装python3.6.5

    yum groupinstall 'Development Tools' 出现错误 系统 centos 7.3 使用命令 yum groupinstall 'Development Tools' 出现 ...

  7. Centos7.4下安装Python3

    安装Python3 安装依赖包 yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-de ...

  8. Ubuntu下安装Python3(与旧Python2版本共存)

    官网下载Python3的源码 进行配置,在源码目录运行如下命令. ./configure --prefix=/usr/local/python3 --enable-shared 进行编译,在源码目录运 ...

  9. centos7下安装python3.7

    记录在2018年最后一个工作日: Linux环境坑爹得要死,环境本身有python2和python3.7两个版本:安装django2的时候,发现默认是python2:把python软连接到python ...

随机推荐

  1. linux(3) 处理目录的常用命令

    目录命令总览 ls(英文全拼:list files): 列出目录及文件名 cd(英文全拼:change directory):切换目录 pwd(英文全拼:print work directory):显 ...

  2. 2019HDU多校 Round3

    09 K Subsequence #include <bits/stdc++.h> using namespace std; typedef long long ll; const int ...

  3. 【noi 2.6_9268】酒鬼(DP)

    题意:有N瓶酒,不能连续喝>=3瓶的酒,问能喝的最大的酒量. 解法:同前一题相似,可以f[i][j]表示前i瓶中连续喝了j瓶的最大酒量.1.f[i][0]=f[i-1][3] ; 2.i=1或2 ...

  4. 母函数 <普通母函数(HDU - 1028 ) && 指数型母函数(hdu1521)>

    给出我初学时看的文章:母函数(对于初学者的最容易理解的) 普通母函数--------->HDU - 1028 例题:若有1克.2克.3克.4克的砝码各一 枚,能称出哪几种重量?各有几种可能方案? ...

  5. 4.PowerShell DSC核心概念之配置

    什么是配置 DSC 配置是定义某一特殊类型函数的 PowerShell 脚本. 配置的语法 Configuration MyDscConfiguration { #配置块 Import-DscReso ...

  6. .NetCore快速上手Consul,留给自己一点思考的空间

    互联网热潮下,"微服务"技术架构成为了一种高大上的技术,其顾名思义就是将传统的大的业务服务拆分成独立的小服务,当拆分的服务慢慢多起来的时候,我们会发现服务地址很难管理,传统的方式一 ...

  7. 包机制和javadoc

    包机制 一般用公司域名倒置作为包名: eg com.baidu.www 可以在src里自己鼠标右键建立包,包内可以存放代码, 包的路径必须在最上面, eg:package com.kuang; (自动 ...

  8. Rails框架学习

    Don't Repeat Yourself! Convention Over Configuration. REST. Rails框架总览. Rails框架基本使用. Rails框架数据交互. Rai ...

  9. Nginx环境下,PHP下载,中文文件,下载失效(英文可以下载)怎么解决呢?

    参考出处: http://www.imooc.com/qadetail/76393 Nginx环境下,PHP下载,中文文件,下载失效(英文可以下载)怎么解决呢? 背景介绍: 文件名  为英文时可以下载 ...

  10. git branch All In One

    git branch All In One Git Branch Management https://git-scm.com/book/en/v2/Git-Branching-Branch-Mana ...