转自:http://www.cnblogs.com/JahanGu/p/7452527.html
参考:https://www.jb51.net/article/104326.htm

1. 备份原来的python版本。
查看是否已经安装Python:
[guo@localhost ~]$ python -V
Python 2.7.5
[guo@localhost ~]$

查看一下Python可执行文件的位置:
[guo@localhost ~]$ which python
/usr/bin/python
[guo@localhost ~]$

进入/usr/bin/ 目录,执行 ls -al python* 命令查看:
[guo@localhost ~]$ cd /usr/bin/
[guo@localhost bin]$ ls -al python*
lrwxrwxrwx. 1 root root    7 10月 28 17:24 python -> python2
lrwxrwxrwx. 1 root root    9 10月 28 17:24 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 7月  13 21:07 python2.7
[guo@localhost bin]$
可以看到可执行文件python指向python2,python2又指向python2.7也就是说Python命令执行的系统预装的Python2.7。

备份python文件:
[guo@localhost bin]$ ls py*
pydoc  pygtk-demo  pyinotify  python  python2  python2.7
[guo@localhost bin]$ sudo mv python python.bak
[sudo] guo 的密码:
[guo@localhost bin]$ ls py*
pydoc  pygtk-demo  pyinotify  python2  python2.7  python.bak
[guo@localhost bin]$

2. 安装python3。
官网下载最新.tar.xz文件:  Version中选择XZ compressed source tarball。
https://www.python.org/

解压
[guo@localhost Downloads]$ tar -xvJf Python-3.7.1.tar.xz

进入文件夹
[guo@localhost Downloads]$ cd Python-3.7.1/

指定程序存放路径
[guo@localhost Python-3.7.1]$ ./configure --prefix=/usr/local/python/python3

编译
[guo@localhost Python-3.7.1]$ make

安装
[guo@localhost Python-3.7.1]$ sudo make install
报错:zipimport.ZipImportError: can't decompress data; zlib not available
参考:https://blog.csdn.net/u014749862/article/details/54430022/
1)先恢复python:
[guo@localhost bin]$ sudo mv python.bak python
2)安装zlib相关依赖包:
sudo yum -y install zlib*
3)进入 python安装包,修改Module路径下的setup文件:
找到下面一行,去掉注释(即去掉#):
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
4)备份python文件:
[guo@localhost bin]$ sudo mv python python.bak

进入Python-3.7.1文件夹,重新安装、编译。
报错:ModuleNotFoundError: No module named '_ctypes'
参考:https://blog.csdn.net/qq_36416904/article/details/79316972
1)先恢复python:
[guo@localhost bin]$ sudo mv python.bak python
2)
[guo@localhost bin]$ udo yum -y install libffi-devel
3)备份python文件:
[guo@localhost bin]$ sudo mv python python.bak

进入Python-3.7.1文件夹,重新安装、编译。

3. 建立软链接。
添加软链接到执行目录下/usr/bin
[guo@localhost bin]$ sudo ln -s /usr/local/python/python3/bin/python3 /usr/bin/python

查看是否安装成功
[guo@localhost bin]$ python -V
Python 3.7.1
[guo@localhost bin]$ python2 -V
Python 2.7.5
[guo@localhost bin]$

4. 修改yum配置文件
打开/usr/bin/yum文件,把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可。

Centos7安装python3.7.1并与python2共存的更多相关文章

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

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

  2. centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题。

    centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题. 原因:yum调用Python,启动程/usr/bin/yum就是一个python ...

  3. centos7安装 python3.6,且保留2.7版本

    CENTOS7安装PYTHON3.6 1. 安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-dev ...

  4. CentOS7 安装Python3,开发SocketIO 客户端

    CentOS7安装Python3,开发SocketIO 客户端 参考:https://blog.csdn.net/lovefengruoqing/article/details/79284573 步骤 ...

  5. centos7安装python3.7

    Centos7安装Python3的方法   由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_ ...

  6. centos7 安装 python3.5

    centos7 安装 python3.5 一. python虚拟环境virtualenv VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前 ...

  7. CentOS7 安装Python3.6.8

    CentOS7 安装Python3.6.8 1. 安装依赖环境 yum -y groupinstall "Development tools" yum -y install zli ...

  8. Centos7安装Python3的方法[转]

    Centos7安装Python3的方法   由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到. [root@VM_105_217_ ...

  9. Centos7 安装python3

    Centos7 安装python3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #安装sqlite-devel yum -y ...

随机推荐

  1. 百度地图point 转化成经纬度

    百度1.0表示的坐标点,直接在1.3的api上使用坐标无法定位,研究了一阵子百度拾取坐标系统的源码才知道,原来1.0的point是Pixel,调用js的转化代码就搞定了 转化方法如下: var b = ...

  2. spark使用idea以client模式提交应用到standalone集群

    使用idea以client方式提交代码到standalone集群非常简单. 1.首先有一个部署好且已经启动的standalone集群 --------------------------------- ...

  3. Linux gcc支持的语法 __attribute__ 属性设置

    __attribute__实际上是gcc专有的一种语法,是用来设置函数属性.变量属性.类属性的 语法:之前在C中的结构体对齐中提到过,当时是用来告诉编译器这个结构体的对齐方式 ,其实他还有很多种用法, ...

  4. android虚拟机的垃圾收集

    Dalvik :http://zh.wikipedia.org/wiki/Dalvik%E8%99%9A%E6%8B%9F%E6%9C%BA ART :http://source.android.co ...

  5. 目前主流编译器对C++11特性的支持情况

    目前主流编译器对C++11特性的支持情况 1. GCC编译器(从编译器GCC4.8.X的版本完全支持) (1)目前C++11特性,之前成为C++0X特性,从GCC4.3的后续版本中逐步对C++11进行 ...

  6. 洛谷P3224 [HNOI2012]永无乡(线段树合并+并查集)

    题目描述 永无乡包含 nnn 座岛,编号从 111 到 nnn ,每座岛都有自己的独一无二的重要度,按照重要度可以将这 nnn 座岛排名,名次用 111 到 nnn 来表示.某些岛之间由巨大的桥连接, ...

  7. AngularJS Backbone.js Ember.js 对比

    看到一篇关于AngularJS Backbone Ember.js的对比,建议看一看 说说个人的观点(本人学艺不精,只是个人的观点,不保证观点完全正确,请轻拍): backbone.js 短小精悍,非 ...

  8. JPA_映射双向多对多的关联关系(转)

    双向多对多的关联关系 转自(http://www.cnblogs.com/lj95801/p/5011537.html) 双向多对多的关联关系(抽象成A-B)具体体现:A中有B的集合的引用,同时B中也 ...

  9. 在Gogland里对GO程序进行单元测试!

    单元测试在程序开发中具有很重要的作用! 1,可以保证程序代码的健壮,能够最小范围测试程序代码,从而保证程序的正确性! 2,可以通过单元测试代码快速了解当前的程序. 我在先前的几个软件公司工作时候,都对 ...

  10. video视频内容填充整个播放空间方法

    关于video视频内容填充整个播放空间方法一般上传的视频都没法占满video,看起来很不美观,解决办法很简单video{ object-fit:fill;}