Centos 安装python 3.7 遇到 ModuleNotFoundError: No module named ‘_ctypes’ make: *** [install] Error 1

Centos 安装python 3.7 遇到 ModuleNotFoundError: No module named ‘_ctypes’ make: *** [install] Error 1

CentOS 7.3 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。

python -V     命令查看一下是否安装Python

which python   查看Python可执行文件的位置

可见执行文件在/usr/bin/ 目录下,切换到该目录下执行 ll python*  命令查看

Centos7安装升级Python3

首先安装依赖包

 
  1. yum -y groupinstall “Development tools”
  2. yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

然后根据自己需求下载不同版本的Python3,本文下载的是Python3.6.2

  1. wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
  1. tar -xvJf  Python-3.7.0.tar.xz
  2. cd Python-3.7.0
  3. ./configure –prefix=/usr/local/python3
  4. make && make install

【这一步遇到ModuleNotFoundError: No module named ‘_ctypes’ make: *** [install] Error 1】解决方式见下方。

安装完毕,/usr/local/目录下就会有python3了

添加软链到执行目录下/usr/bin

 
  1. ln -s /usr/local/python3/bin/python3 /usr/bin/python

执行python -V             输出的python3的版本

执行python2 -V           看到的就是python2的版本

Centos7安装升级Python3

yum需要python2版本,所以我们还要修改yum的配置,执行:

  1. vim  /usr/bin/yum

把 #! /usr/bin/python修改为  #! /usr/bin/python2

同理,也要修改修改 /usr/libexec/urlgrabber-ext-down 文件

  1. vim  /usr/libexec/urlgrabber-ext-down

#! /usr/bin/python 修改为 #! /usr/bin/python2

这样python3版本就安装完成;同时python2也存在

 

【ModuleNotFoundError: No module named ‘_ctypes’ make: *** [install] Error 1】解决方式

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

#yum install libffi-devel -y    《-安装这个就能解决