转自: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. 前端福利之HTML5 UTF-8 中文乱码(转)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. intrinsicConditionQueue笔记

    一, 使用conditionQueue需要注意的一些点: 一个conditionQueue被多种Predicate condition 使用是很正常的,所以当一个wait的线程被唤醒的时候,很有可能它 ...

  3. Cacti部署

    1>监控概述   通常运维人员在一个企业当中所需要管理一台或者多台服务器,或者甚至更多,特别是BAT公司或者门户级别的公司,一个人管理的服务器可能上百甚至上千台                  ...

  4. access建立sql查询语句运行查询语句

    1.打开一个Access数据库文件 2.点击“创建”标签中的“查询设计”,会弹出一个“显示表”的对话框,点击“关闭”将其关闭 3.这时会有一个名为“查询*”的窗口,还不能输入SQL语句 4.点击左上角 ...

  5. Android下拉刷新控件android-Ultra-Pull-To-Refresh 使用

    一.gitHub地址及介绍 https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh android-Ultra-Pull-To-Refre ...

  6. Buffer Pool--内存相关术语

    虚拟地址空间(virtual address space): 供应用程序能够申请访问的最大地址空间,32位系统上为4GB,64位系统上是8TB,虚拟地址空间映射的数据不一定存放在物理内存中,还可能存放 ...

  7. eayui js动态加载Datagrid,自适应宽度,高度

    HTML: <div class="easyui-layout" style="min-height:100%;min-width:100%;"> ...

  8. angular 程序架构

  9. UWP开发入门(十)——通过继承来扩展ListView

    本篇之所以起这样一个名字,是因为重点并非如何自定义控件,不涉及创建CustomControl和UserControl使用的Template和XAML概念.而是通过继承的方法来扩展一个现有的类,在继承的 ...

  10. Android 的一些中文文档

    https://blog.csdn.net/qq_36467463/article/details/77990089    //安卓mediaformat api详解 https://www.cnbl ...