在运行yum时提示如下错误
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
   No module named rpm
 
但是执行rpm命令可以成功。在网上查找了一些资料,有的讲说是python装了多个,或者当前Python版本过高。
 
     一、通过命令whereis命令查询发现系统中只有一个Python,所以Python多个的可能性排除。
    
     二、到同一机房的其他机器上,执行python -V命令发现与当前系统中的Python版本一致,都是2.6.6。因此python版本高的可能性也排除。
 
     三、通过rpm -qa|grep rpm命令查询rpm软件的版本号,发现问题机器的rpm软件包版本号比正常机器的rpm软件包的版本低。于是就到国内的rpm源上下载正常机器上rpm版本的rpm包,然后拷贝到问题机器,用 rpm -U rpm-4.8.0-47.el6.x86_64.rpm  rpm-libs-4.8.0-47.el6.x86_64.rpm rpm-python-4.8.0-47.el6.x86_64.rpm进行安装。成功安装之后,再次执行yum 命令发现错误变了
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
   No module named pycurl
    
      四、根据第三步思路,检查pycurl模块对应的rpm包版本号是否偏低或者偏高,对比后发现版本号一致。而且在python命令行中执行import pycurl命令,同样提示No module named pycurl的错误。网上查看相关资料好多说缺少pycurl模块,要通过pip命令安装,但是正常机器上的pycurl模块就可以使用而且也没有pip命令,所以排除pycurl模块没有安装的怀疑。
 
     五、网上查找python模块的位置在/usr/lib(64)/python(2.6)/site-packages/目录下,于是自己在正常机器的对应目录下找到一个名为pycurl.so的文件,但是在问题机器上没找到相关的文件。然后“放大招“执行命令 find / -name "pycurl.so",发现/usr/lib64/python2.6/site-packages.2016.05.04目录下有pycurl.so这个文件,将pycurl.so这个文件复制到/usr/lib64/python2.6/site-packages目录下,再次执行yum命令发现OK了。
 
总结:1、python的第三方模块位置在/usr/lib(64)/python(2.6)/site-packages/目录。第三方模块可以通过pip命令安装sudo yum install python-setuptools -y; sudo easy_install pip  这组命令是安装pip,安装成功后可以通过; sudo pip install pyyaml; 来安装对应的模块pyyaml。
     2、在更新软件时,一定要注意配置文件、文件夹的重命名问题。

python 模块加载错误总结的更多相关文章

  1. python 模块加载

    python 模块加载 本文主要介绍python模块加载的过程. module的组成 所有的module都是由对象和对象之间的关系组成. type和object python中所有的东西都是对象,分为 ...

  2. python︱模块加载(pip安装)以及pycharm安装与报错解决方式

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 准备放下R开始学python,真是痛苦,因为找 ...

  3. 【Python】python模块加载

    一个python文件就是一个模块 标准模块 python自带的模块就是标准模块,也就说可以直接import进来的就是标准模块 import datetime import random 第三方模块 别 ...

  4. Python学习-3.Python的模块加载

    Python中使用import关键字进行模块加载. 先在Visual Studio中建立PythonModuleLoad项目作为演示. 1.同目录加载 建立SameFolder.py文件 写入代码: ...

  5. Python 模块化 模块搜索顺序、重复导入、模块加载列表(五)

    模块搜索顺序.重复导入.模块加载列表 0x00 模块搜索顺序: 举例: #test.py import sys for p in sys.path: print(p) 运行结果: C:\python ...

  6. 'module' object has no attribute 'Thread'解决方法及模块加载顺序

    源码片段: class myThread(threading.Thread): def __init__(self, threadID, name, counter): threading.Threa ...

  7. ECMA Script 6_模块加载方案 ES6 Module 模块语法_import_export

    1. 模块加载方案 commonJS 背景: 历史上,JavaScript 一直没有模块(module)体系, 无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来. 其他语言都有这项功能: ...

  8. node模块加载层级优化

    模块加载痛点 大家也或多或少的了解node模块的加载机制,最为粗浅的表述就是依次从当前目录向上级查询node_modules目录,若发现依赖则加载.但是随着应用规模的加大,目录层级越来越深,若是在某个 ...

  9. javascript中的闭包、模块与模块加载

    一.前言 闭包是基于词法作用域(  和动态作用域对应,词法作用域是由你写代码时,将变量写在哪里来决定的,因此当词法分析器处理代码时,会保持作用)书写代码时所产生的自然结果,甚至不需要为了利用闭包而有意 ...

随机推荐

  1. linux ssl 双向认证

    一,首先切换到apache目录下,创建一个CA文件夹 sudo mkdir CA sudo chmod 777 CA 二,然后进去CA文件夹 cp CA 三,创建其它文件 mkdir demoCA m ...

  2. 《SpringMVC数据绑定入门》笔记

    基本类型 最好使用封装类型 简单多数据&多层级对象 简单多数据 单个对象,直接使用属性名=值即可 多层级对象 属性.属性=值即可 同属性多对象 WebDataBinder只在当前类中生效,不是 ...

  3. iOS强制切换横屏、竖屏

    切换横竖屏最直接的方式是调用device的setOrientation方法.但是从sdk3.0以后,这个方法转为似有API,如果要上AppStore的话,要慎用! if ([[UIDevice cur ...

  4. jQuery EasyUI学习资源汇总

    jQuery EasyUI学习资源汇总 EasyUi – 1.入门 EasyUi – 2.布局Layout + 3.登录界面 EasyUi – 4.datwagrid 学习Jquery EasyUI的 ...

  5. C语言-if语句

    1.一般形式 if(表达式)表达式1 else 表达式2   :表达式成立(为真)则执行表达式1,否则执行表达式2. 适用范围:真假,对错,开关,对立面的条件 注意:如果if语句中只包括一条语句,可以 ...

  6. 【解决】System.Web.Http.Description 缺失

    一.问题描述 使用visual studio 2013创建mvc4 api模板,然后build,run,broken,出错如下: Error 1 The type or namespace name ...

  7. 1)Linux学习笔记:crontab命令

    crond简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程 配置文件 ``` SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin: ...

  8. p便签,去掉首行缩进

    <p>fdsfdsfs</p> 使用P标签是,会自动的加上首行缩进,如果想去掉首行缩进,可以使用text-indent属性 <p style="text-ind ...

  9. Android Studio文件目录介绍

    一.安装的时候并不理解很多东西的用处,只是根据教程来做,所以想整理一下思路: android sdk里的各目录作用: 1.AVD Manager.exe:虚拟机管理工具,用于建立和管理虚拟机. 2.S ...

  10. [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)

    http://kasicass.blog.163.com/blog/static/39561920133294219374/ 创建测试仓库 $ git init $ echo "line o ...