LInux下(centos7.2)更新 python3.7

  •  进入超级管理员目录  

    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 //改为之前的老版本号

原文地址:https://www.cnblogs.com/a-dong/p/9745151.html