云网牛站
所在位置:首页 > Linux教程 > centos 7.2更新python 3.7、3.5.2的过程及出错的解决方法

centos 7.2更新python 3.7、3.5.2的过程及出错的解决方法

2018-10-05 21:26:10作者:a_dong稿源:linux站

本文为你讲解在centos 7.2系统中更新python 3.7的过程,及更新python 3.5.2的过程,在更新python 3.7的过程中出现了三个错误,以下分享解决方案。

 

centos 7.2更新python 3.7及出现错误的解决方案

一、centos 7.2更新python 3.7过程

1.进入超级管理员目录  

su root

2.下载

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

3.找到下载的文件解压:

tar -xzvf Python-3.7.0.tgz

4.进入解压好的文件目录

cd Python-3.7.0 

5.创建安装文件夹

kdir /usr/local/python37

6.开始编译安装

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

./configure --enable-optimizations

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

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

yum -y install gcc

7.顺利下载安装成功,重复操作第四步命令:

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

8.顺利配置成功,继续运行命令:

make

make install

9.设置双版本

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

10.建立连接

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

二、centos 7.2更新python 3.7出现错误的解决方案

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

解决:python 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

 

centos 7.2更新python 3.5.2

以下操作都在root用户中进行。

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

2.解压:tar -zxvf Python-3.5.2.tgz

3.进入解压目录: cd Python-3.5.2

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

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

6.安装: make && make install

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

8.建立软连接指向到当前系统默认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的配置文件。

9.修改yum配置文件:vi /usr/bin/yum

把文件头部的:!/usr/bin/python

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

保存退出,yum即可正常使用。如若有其他命令、软件不能正常使用,仿照yum配置文件的修改方法,修改其配置文件即可。至此,更新完毕。

10.修改另外一个相关的配置文件: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 //改为之前的老版本号。

 

相关主题

为你解析Python 2和Python 3版本的主要差别

精选文章
热门文章