CentOS 7安装Python3 以及python3.7中ModuleNotFoundError: No module named '_ctypes错误解决

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

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

然后使用命令 which python 查看一下Python可执行文件的位置

python 指向的是python2.7

安装

1. 因为我们要安装python3版本,所以python要指向python3才行,目前还没有安装python3,先备份,备份之前先安装相关包,用于下载编译python3
    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

不能忽略相关包,我之前就没有安装readline-devel导致执行python模式无法使用键盘的上下左右键;

然后备份

    mv python python.bak
2. 开始编译安装python3

注意:如果是Python3.7版本。首先先安装libffi-devel包否则python3.7会报如下第四步中ModuleNotFoundError: No module named '_ctypes错误

	yum install libffi-devel -y
  1. 去官网下载编译安装包或者直接执行以下命令下载

    wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
    
  2. 解压

    tar -xvJf Python-3.7.0.tar.xz
    
  3. 切换进入

    cd Python-3.7.0
    
  4. 编译安装

    ./configure prefix=/usr/local/python3
    
    make && make install
    
    • ModuleNotFoundError: No module named '_ctypes’错误解决
      3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可。

      yum install libffi-devel -y
      make install
      
    • /usr/bin/yum: No such file or directory yum错误解决

      因为安装前移除了/usr/bin下python的文件链接依赖,此时yum无法正常使用,需要自己下载相关软件包安装

      	wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libffi-devel-3.0.13-18.el7.x86_64.rpm
      	rpm -ivh libffi-devel-3.0.13-18.el7.x86_64.rpm
      
  5. 添加软链
    安装完毕,/usr/local/目录下就会有python3了

    因此我们可以添加软链到执行目录下/usr/bin

    ln -s /usr/local/python3/bin/python3 /usr/bin/python
    
  6. 测试是否安装成功

    python -V 看看输出的是不是python3的版本

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

    CentOS 7安装Python3 以及python3.7中ModuleNotFoundError: No module named '_ctypes错误解决_第1张图片

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

    vi /usr/bin/yum
    

    #! /usr/bin/python 修改为 #! /usr/bin/python2
    CentOS 7安装Python3 以及python3.7中ModuleNotFoundError: No module named '_ctypes错误解决_第2张图片
    同理 vi /usr/libexec/urlgrabber-ext-down 文件里面的#! /usr/bin/python 也要修改为#! /usr/bin/python2
    CentOS 7安装Python3 以及python3.7中ModuleNotFoundError: No module named '_ctypes错误解决_第3张图片
    这样python3版本就安装完成;同时python2也存在

    python -V 版本3

    python2 -V 版本2

配置pip

Python3装完后,默认已经安装了pip,此时只要配置下软链接即可使用pip工具:

ln -s /usr/local/python3/bin/pip3  /usr/bin/pip

在这里插入图片描述

你可能感兴趣的:(Python,操作系统OS)