在运行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. TFS-Git官方教程

    VS2015:官网教程 VS2013:  GIT教程

  2. 《C程序设计语言》读书笔记----习题1-21

    题目就不写了,大概意思就是:尽量用制表符'\t'替换掉字符串中的空格. 同学们需要注意的是,打印一个制表符'\t',其所占长度不是固定的. 这里要理解“制表符”和“制表符终止位”.“制表符”的作用是使 ...

  3. iOS开发——沙箱

    iphone沙箱模型的有三个文件夹,documents,tmp,Library.有时开发时要求我们保存一些数据在本地,这就用到了. 1.Documents 目录:您应该将所有de应用程序数据文件写入到 ...

  4. iOS开发实现Label中多颜色多字体

     UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(8, 100, 300, 30)]; label.textColor = wor ...

  5. Android应用运行过程(转)

    源:Android应用运行过程 首先,ActivityThread从main()函数开始执行,调用prepareMainLooper()为UI线程创建一个消息队列(MessageQueue). 然后创 ...

  6. java web基础 --- URL重定向Filter

    java web基础 --- URL重定向Filter httpRequest.getRequestDispatcher("/helloWorld").forward(httpRe ...

  7. [vue最新实战] gank客户端(vue2 + vue-router2 + vuex +webpace + es6)新手福利,干货多多

    vue-meizi 本项目是基于vue2最新实战项目,是适合新手进阶的绝佳教程.代码简单易懂,注释多多.实现了移动端使用最多的 无限滚动,图片加载,左右滑动,等待.先发布预览版本,后面更多更全的功能和 ...

  8. layout_toLeftOf = “@id/XX” 提示找不到该id的控件

    调布局的时候,需要把一个控件A放在另一个控件B的左边,我的xml布局文件是按照顺序从左到右定义的控件,所以先定义的控件A,然后控件B,在控件A的属性中,定义 android:layout_toLeft ...

  9. struts2默认Action配置

    在项目中,需要在输入错误的url的时候,弹出友好的错误提示页面 在struts2中可以通过配置默认的action达到这个目的 配置方法: <package name="default& ...

  10. wordpress数据表结构

    Table: wp_commentmeta Field Type Null Key Default Extra meta_id bigint(20) unsigned PRI NULL auto_in ...