• 进入超级管理员目录  

    su root

  • 下载

  wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

  • 找到下载的文件解压

   tar -xzvf Python-3.7.0.tgz

  • 进入解压好的文件目录

    cd Python-3.7.0 

  • 创建安装文件夹

     kdir /usr/local/python37

  • 开始编译安装

   ./configure --prefix=/usr/local/python37

   ./configure --enable-optimizations

    提示:configure: error: no acceptable C compiler found in $PATH

   原来是缺少C编译器,需要安装GCC套件,于是采用如下命令安装,

   yum -y install gcc

   顺利下载安装成功,重复操作第四步命令:  ./configure --prefix=/usr/local/python3  顺利配置成功

   make

    make install

  • 错误

    错误1.

      zipimport.ZipImportError: can’t decompress data,

      是因为缺少zlib 的相关工具包导致的,知道了问题所在,那么我们只需要安装相关依赖包即可,

    1、打开终端,输入一下命令安装zlib相关依赖包:

       yum -y install zlib*1

        2、进入 python安装包,修改Module路径的setup文件:

     vim module/setup 1

   找到一下一行代码,去掉注释:

     #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

   去掉注释

   zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz123

   另外,在这里说明一下,对于在安装Python安装的过程中遇到这个问题,

        安装完上面的依赖包后,即可重新进入终端,进入python的安装包路径下执行:

     make && make install 1

  重新编译安装即可,

  • 错误2

   ModuleNotFoundError: No module named '_ctypes' make: *** [install] 错误 1

  3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。

     #yum install libffi-devel -y

     #make install

  • 错误 3

   zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1

   解决:

    yum install zlib zlib-devel -y

  • 设置双版本

   mv /usr/bin/python /usr/bin/python_old2

  • 建立连接

  ln -s /usr/local/python37/bin/python37  /usr/bin/python

  • PS:(更新3.5.2)

    解压:tar -zxvf Python-3.5.2.tgz

  进入解压目录: cd Python-3.5.2

    创建安装目录: mkdir /usr/local/python3.5.2

   编译: ./configure –prefix=/usr/local/python3.5.2

  安装: make && make install

   备份原有python:mv /usr/bin/python /usr/bin/python_2.7.5

  • 第4步:建立软连接指向到当前系统默认python命令的bin目录,让系统使用新版本python

      mv /usr/bin/python /usr/bin/python2.7.5 //当前python的版本为2.7.5

     ln -s /usr/local/python3.5.2/bin/python3.5  /usr/bin/python

     输入:

            python -V

     即可查看当前默认python版本

    默认的python成功指向3.5.2以后,yum不能正常使用,需要修改yum的配置文件

  • 第5步:修改yum配置文件

   vi /usr/bin/yum

   把文件头部的

           !/usr/bin/python    改成    !/usr/bin/python2.7.5 //改为之前的老版本号

       保存退出,yum即可正常使用。如若有其他命令、软件不能正常使用,

          仿照yum配置文件的修改方法,修改其配置文件即可。至此,更新完毕。

  • 第6步:修改另外一个相关的配置文件

        vi  /usr/libexec/urlgrabber-ext-down

      该配置文件与yum install 命令有关,如果不修改该文件会报错

        File "/usr/libexec/urlgrabber-ext-down", line 28    except OSError, e:

      这是因为python版本不匹配:

       把文件头部的  !/usr/bin/python  改成    !/usr/bin/python2.7.5 //改为之前的老版本号

LInux下(centos7.2)更新 python3.7的更多相关文章

  1. linux下软件的更新命令

    linux下软件的更新命令   在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区 ...

  2. Linux下用ftp更新web内容!

    使用ftp更新web!让网页更新一次OK! 配置如下: 1.在Linux下安装ftp服务器! yum -y install vsftpd #ftp由vsftpd提供! 2.配置主配置文件/etc/vs ...

  3. linux下切换python2和python3(转)

    0x00 为什么需要有两个版本的Python Python2和Python3不兼容是每个接触过Python的开发者都知道的事,虽说Python3是未来,但是仍然有很多项目采用Python2开发.Lin ...

  4. Linux下切换python2和python3

    为什么需要有两个版本的Python Python2和Python3不兼容是每个接触过Python的开发者都知道的事,虽说Python3是未来,但是仍然有很多项目采用Python2开发.Linux的许多 ...

  5. Linux 下centos7启动 Tomcat 抛出Can't connect to X11 window server 问题的解决方法

    1 问题 今天启动 Tomcat 后,登录页验证码不见了.在 localhost.xxx.log 发现以下错误: org.apache.catalina.core.StandardWrapperVal ...

  6. linux下svn定时更新项目

    方法一.用shell脚本定时更新项目   1.进入网站的根目录,假设项目位置放在/var/www/test cd /var/www/test   2.建立脚本文件update.sh,分两步进行.首先利 ...

  7. kali linux下几个更新命令的区分

    首先更新命令有:apt-get update ,apt-get upgrade ,apt-get dist-upgrade等三个: (1)apt-get update:只更新软件包的索引源,作用:同步 ...

  8. linux 下svn同步更新钩子

    svn服务器搭建:https://www.linuxidc.com/Linux/2017-05/144254.htm SVN版本库中的一个项目:/svn/repositories/test/ 网站目录 ...

  9. linux下(centos7)docker安装

    参考链接https://docs.docker.com/install/linux/docker-ce/centos/ 第一步,确定是centos7及以上版本 cat /etc/redhat-rele ...

  10. Linux 下SVN自动更新

    1.找到svn的所在目录: 我的目录在/usr/local/svn/myproject 2.新建post-commit vim hooks/post-commit #!/bin/shexport LA ...

随机推荐

  1. 在线画UML图的工具

    工作需要在线画各种UML图,类图.协作图.用例图等等,调查了一些在线画UML图的工具,有的做的很好但要收费,例如:http://www.gliffy.com/,发现现在免费好用的是ProcessOn: ...

  2. vs2015+qt5.9.7配置跨平台的工程

    环境:vs2015 update 3 + qt 5.9.7 问题:代码中存在中文无法编译 附加目的:支持跨平台 问题分析:代码的编码格式导致中文编译错误,windows默认gb2312编码,qt默认u ...

  3. win32之进程概念

    win32之进程 一丶简介 学习WindowsAPI. 之前.我们必须理解什么是进程. 在windows环境下.进程就是一个运行起来的exe程序 进程提供了数据以及资源. 但是怎么使用不管.而是由线程 ...

  4. 深入理解苹果系统(Unicode)字符串的排序方法

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由iminder发表于云+社区专栏 Unicode编码 我们知道计算机是不能直接处理文本的,而是和数字打交道.因此,为了表示文本,就建立 ...

  5. ionic的学习-02路由中的几个参数

    Part1  路由中的几个参数 第一步:看几个参数的位置 ①ionic中是通过<ion-nav-view></ion-nav-view>实现不同模板渲染跳转的. ②ionic中 ...

  6. #3 Python解释器和编辑器

    前言 上文介绍了Python在不同平台的安装方法,本文将带领你了解Python解释器和编辑器的概念,并且选择出最符合自己的解释器和编辑器! 一.Python解释器 其实上文介绍的安装Python,实质 ...

  7. 多啦爱梦~多啦A梦CSS3测试源代码

    先直接看图片,感觉一下!一直以来,我们都在说浏览器对CSS3支持度这个问题.可是,鉴于知识认识水平问题,又没几个人真正了解CSS3是什么东西,和它在网站显示上的重要性.现在好了,日本某位大神写了个CS ...

  8. C# 分支语句 练习题(中间变量,随机数)

    练习一 请输入年份:”(1-9999),请输入月份:”(1-12),请输入日期(要判断大小月,判断闰年),判断输入的时间日期是否正确. 计算输入的时间是当前这一年的第几天. bool dateISOK ...

  9. 贝尔数(来自维基百科)& Stirling数

    贝尔数   贝尔数以埃里克·坦普尔·贝尔(Eric Temple Bell)为名,是组合数学中的一组整数数列,开首是(OEIS的A000110数列):   Bell Number Bn是基数为n的集合 ...

  10. Js调试中不得不知的Console

    在js调试中,大部分的前端人员都是采用console.log()方法来打印出调试的数据,但是很多人都不知道console这个对象有很多很实在的方法,本文就来介绍一下这些方法的使用. 一.console ...