CentOS6升级Python2.6到3.7,错误处理[No module named '_ctypes']

因开发需要,在CentOS 6 服务器将Python2进行升级到Python3。由于工作中内网的限制,这里使用的是手动安装的方式进行。

一、查看当前python版本

[python@VM000001564 ~]$ python -V
Python 2.6.6

二、官网下载Python稳定版本(当前3.7.2)进行安装

这里下载软件使用python用户,安装使用root用户进行

# 下载步骤(python用户)
[python@VM000001564 ~]$ wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
[python@VM000001564 ~]$ tar -xzvf Python-3.7.2.tgz
[python@VM000001564 ~]$ cd Python-3.7.2 # 安装步骤(root用户)
[root@VM000001564 Python-3.7.2]# ./configure
[root@VM000001564 Python-3.7.2]# make && make install

三、安装后进行后验证版本

[python@VM000001564 Python-3.7.2]$ python3 -V
Python 3.7.2

四、设置3.7.2为默认版本

默认还是2.6.6为默认版本,需要将3.7.2进行设置

[root@VM000001564 Python-3.7.2]# ls -al /usr/bin | grep python
-rwxr-xr-x. 1 root root 11232 Oct 16 2014 abrt-action-analyze-python
-rwxr-xr-x. 2 root root 9032 Jan 22 2014 python
lrwxrwxrwx. 1 root root 6 Oct 27 2014 python2 -> python
-rwxr-xr-x. 2 root root 9032 Jan 22 2014 python2.6

将原来 python 的软链接备份:

# mv /usr/bin/python /usr/bin/python.bak

将 python 链接至 python3:

# ln -s /usr/local/bin/python3 /usr/bin/python

五、安装中遇到的问题

ModuleNotFoundError: No module named '_ctypes'

因为3.7版本用到外部模块_ctypes,需要一个新的包libffi-devel,安装此包之后再次进行安装步骤即可

yum install libffi-devel -y
make install

若在安装前移除了/usr/bin下python的文件链接依赖,此时yum无法正常使用,需要自己下载相关软件包安装,为节省读者时间,放上链接。

CentOS 7 下载此版本

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

CentOS 6 下载此版本

wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libffi-devel-3.0.5-3.2.el6.x86_64.rpm
rpm -ivh libffi-devel-3.0.5-3.2.el6.x86_64.rpm

安装此包之后再次进行重新编译,安装步骤即可,切记。

更多干货、原文地址:http://www.osheep.cn/4792.html

CentOS6升级Python2.6到3.7,错误处理[No module named '_ctypes']的更多相关文章

  1. python3.8安装flask出现错误“ModuleNotFoundError: No module named '_ctypes'”

    本想在CentOS下配置flask+nginx+uwsgi环境,结果安装最基础的flask包都出了问题...以下是我的环境: 服务器:阿里云ECS CentOS7 python版本:3.8.0 问题描 ...

  2. Pycharm 中错误ImportError: No module named appium

    Q: Pycharm 中错误ImportError: No module named appium A: Pycharm IDE Preferences -> Project Interpret ...

  3. yum源使用的几个报错小总结 (例如: python2.6.6 下yum不能使用: No module named yum)

    服务器上的yum突然不好使用,使用yum时有如下几个保持,解决方案如下: 1)Error: Cannot retrieve repository metadata (repomd.xml) for r ...

  4. ansible错误ImportError: No module named ansible.runner记录

    按着官网提供的安装ansible To configure the PPA on your machine and install ansible run these commands: $ sudo ...

  5. Python错误“ImportError: No module named MySQLdb”解决方法

    这个错误可能是因为没有安装MySQL模块,这种情况下执行如下语句安装: pip install MySQLdb 如果安装时遇到错误“_mysql.c:29:20: 致命错误:Python.h:没有那个 ...

  6. yum 出现错误ImportError: No module named urlgrabber.grabber

    yum 出现错误: root@iZ23t4pnz63Z ~]# yum update Loaded plugins: fastestmirror Loading mirror speeds from ...

  7. python错误 ImportError: No module named setuptools 解决方法[转]

    在python运行过程中出现如下错误: python错误:ImportError: No module named setuptools这句错误提示的表面意思是:没有setuptools的模块,说明p ...

  8. Django 错误之 No module named ‘MySQLdb’

    由于卸载Mysql时将很多相关依赖包都卸载了,重装mysql后启动django出现如下错误: django.core.exceptions.ImproperlyConfigured:Error loa ...

  9. python 开发技巧(3)-- 连接mysql 出现错误 ModuleNotFoundError: No module named 'MySQLdb'

    python3中使用mysql报错ModuleNotFoundError: No module named 'MySQLdb' 原因是:在python2.x中用mysqldb,但是在python3.x ...

随机推荐

  1. RESTful架构及SOA架构简单解析

    1.RESTful架构 本人也是刚接触ASP.NET开发,以下为自己简单的理解,并做了一些记录,表述不当或者错误之处还请指正,在此谢过. 首先,REST(REpresentational State  ...

  2. Bash命令行 bash &> >& Bash One-Liners Explained

    Bash One-Liners Explained, Part I: Working with files https://catonmat.net/bash-one-liners-explained ...

  3. 网络分析 ANP

    在许多实际问题中,各层次内部元素往往是依赖的. 低层元素对高层元素亦有支配作用,即存在反馈. 此时系统的结构更类似于网络结构.网络分析法正是适应这种需要,由AHP延伸发展得到的系统决策方法.   AN ...

  4. python+appium学习之swipe

    #coding:utf-8 from appium import webdriver from time import sleep import random desired_caps={ " ...

  5. ZT自贴吧 说说你是怎么和恋人确定恋爱关系的?

    http://www.baidu.com/link?url=svJFMqibXXhJUiGDaDr1obOyrIb9o0TqO5JWFtMuM-l7ndaRlGMyuRQKCOHh-Pj0

  6. [EffectiveC++]item37:绝不重新定义继承而来的缺省参数值

    绝不重新定义继承而来的缺省参数值 静态类型 动态类型

  7. sql 获取每个分组的前N条记录的写法

    SELECT * FROM ( --根据 tb表的name进行分组,根据年龄排序 SELECT * , ROW_NUMBER() OVER ( PARTITION BY name ORDER BY a ...

  8. java动态代理的实现以及原理

    1.前言 之前对动态代理的技术只是表面上理解,没有形成一个体系,这里总结一下,整个动态代理的实现以及实现原理,以表述的更清楚一些. 2.动态代理的实现应用到的技术 1.动态编译技术,可以使用Java自 ...

  9. Kali-linux识别活跃的主机

    尝试渗透测试之前,必须先识别在这个目标网络内活跃的主机.在一个目标网络内,最简单的方法将是执行ping命令.当然,它可能被一个主机拒绝,也可能被接收.本节将介绍使用Nmap工具识别活跃的主机. 网络映 ...

  10. LayIM项目之基础数据获取代码优化,Dapper取代ADO.NET

    前言 最近在开发LayIM融云版,也在进行项目重构,现在在看之前的代码,简直不敢直视.不过不知道以后看现在的代码是不是也是糟糕的一批.LayIM有个接口,一般接触过的开发人员都不会生疏,就是init接 ...