在运行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. COM问题

    因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫.

  2. IOS小技巧——使用FMDB时如何把一个对像中的NSArray数组属性存到表中

    http://blog.csdn.net/github_29614995/article/details/46797917 在开发的当中,往往碰到要将数据持久化的时候用到FMDB,但是碰到模型中的属性 ...

  3. 必须熟悉的vim快捷键操作

    转载请表明出处http://www.dabu.info/?p=801 Vim/Vi 没有菜单,只有命令 Vim/Vi 工作模式介绍:插入模式 和  命令模式 是vi的两个基本模式.——插入模式 ,是用 ...

  4. LPC1768基本输入输出GPIO使用

    LPC1788通用IO口的控制包含了一些基本的组件,比如设置推挽输出,开漏输出,上拉电阻等,我们今天来看看. 首先使用GPIO要打开GPIO的系统时钟   LPC_SC->PCONP |= (1 ...

  5. leetcode--012 single number I

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0MAAADGCAIAAACfN8xOAAAZ6UlEQVR4nO3dsZKcurbG8fNOnd1nIv

  6. js中的 substring和substr方法

    原文: http://www.cnblogs.com/chinafine/archive/2009/02/26/1398771.html 1.substring 方法 定义和用法 substring ...

  7. discuz开发学习

    2014年3月24日 10:36:10 遇到一个问题,discuz 缓存的样式,没有自动生成.后来去后台 进行操作才有效. 解决了之前的遇到的 首页没有套用样式的问题. 现在的问题是 模版的扩展图片 ...

  8. iOS 选择框 单选框

    UIButton *checkbox = [UIButton buttonWithType:UIButtonTypeCustom]; CGRect checkboxRect = CGRectMake( ...

  9. js判断MAC地址

    function white_mac_FormCheck(mac)    {           var temp = /[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0- ...

  10. MySQL生产库开发规范

    MySQL开发规范 文件状态: [  ] 草稿 [√] 正式发布 [  ] 正在修改 文件标识:   当前版本: V1.0  作    者: 贺磊  完成日期: 2016-05-24 变更记录 序号  ...