转自: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. mongo学习- group操作

    group可以使用 $sum,$avg,$max,$min,$first,$last

  2. HDU 5117 Fluorescent (数学+状压DP)

    题意:有 n 个灯,初始状态都是关闭,有m个开关,每个开关都控制若干个.问在m个开关按下与否的2^m的情况中,求每种情况下亮灯数量的立方和. 析:首先,如果直接做的话,时间复杂度无法接受,所以要对其进 ...

  3. mdk3攻击实例

    Authentication Flood,mdk3下参数为a: mdk3 mon0 a –a AP的MAC地址(BSSID) -c来对指定的频道进行攻击 -a固定bssid进行攻击 -s控制发包速率. ...

  4. javadoc tags

    Where Tags Can Be Used The following sections describe where the tags can be used. Note that these t ...

  5. 何时使用[self release]

    这样的语句   [self release]; 乍看上去让人很困惑. 从release方法本身的作用上来说,就是给self的引用技术减一,就像release对其他对象所做的一样. 一般来说,唯一用到, ...

  6. (深搜)棋盘问题 -- poj -- 1321

    链接: http://poj.org/problem?id=1321 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2889 ...

  7. POJ3281 Dining 2017-02-11 23:02 44人阅读 评论(0) 收藏

    Dining Description Cows are such finicky eaters. Each cow has a preference for certain foods and dri ...

  8. JavaScript中的垃圾回收和内存泄漏

    摘要: JS内存管理. 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有. 前言 程序的运行需要内存.只要程序提出要求,操作系统或者运行时就必须供给内存.所谓的内存泄漏简单来说是不再用到的 ...

  9. 开源WebGIS实施方案(五):基于SLD实现图层符号化及其应用

    SLD概述 SLD(OpenGIS® Styled Layer Descriptor):图层样式注记.其当前版本是1.1.0.SLD是一种描述地图图层样式的标准,一般用于WMS中的图层符号化. 说白了 ...

  10. 教你如何学python

    首先,你要有自信心,要明确学习目的.学Python,可以解决在软件使用中所遇到的问题,可以为找到理想工作添加重要砝码.还能锻炼思维,使我们的逻辑思维更加严密:能不断享受到创新的乐趣,将走在高科技的前沿 ...