在运行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. MYSQL一次性能优化实战经历[转]

    每次经历数据库性能调优,都是对性能优化的再次认识.对自己知识不足的有力验证,只有不断总结.学习才能少走弯路. 一.性能问题描述 应用端反应系统查询缓慢,长时间出不来结果.SQLServer数据库服务器 ...

  2. Spring Junit 读取WEB-INF下的配置文件

    假设Spring配置文件为applicationContext.xml 一.Spring配置文件在类路径下面 在Spring的java应用程序中,一般我们的Spring的配置文件都是放在放在类路径下面 ...

  3. Tessnet2图片识别(2)

    1. 引用 tessnet2.dll (只有NET2.0版本) 2. 视图页 <%@ Page Language="C#" MasterPageFile="~/Vi ...

  4. C#键盘事件处理(来源网上)

    C#键盘事件处理 如果你希望用户按F1弹出chm帮助,代码如下: private void FrmMain_Load(object sender, EventArgs e) { this.KeyPre ...

  5. UVa 507 - Jill Rides Again

    题目大意:最大和子序列问题.由于具有最大和的子序列具有一下性质:第一项不为负数,并且从第一项开始累加,中间不会有和出现负数,因为一旦有负数我们可以抛弃前边的部分以得到更大的子序列和,这将会产生矛盾. ...

  6. mybatis:"configuration" must match "(properties?,settings?,typeAliase.....

    在运行mybatis配置文件的时候,出现错误: mybatis:"configuration" must match "(properties?,settings?,ty ...

  7. volatile的理解和使用

    package thread; /** * Created by Administrator on 2017/1/15. */ public class Counter { public volati ...

  8. HTML5+MUI+HBuilder 之初探情人

    07,08年那会儿正当Java火爆,C/C++仍是广泛运用的一门语言的时候,所以 我的大学都献给了C/C++和Java.当诺基亚的倒闭成为按键机时代衰落的标志时,移动APP的开发也如破堤之洪,爆炸式的 ...

  9. 使用ActionBar实现Tab导航

    ActionBar还有常用的功能,实现Tab导航.ActionBar在顶端生成多个Tab标签,当用户单击点击某个Tab标签时,系统根据用户点击事件导航指定Tab页面. 为了使用ActionBar实现T ...

  10. Postgresql standby(备机只读)环境搭建

    下载PostgreSQL源码包,放在任意目录 设置/etc/sysctl.conf,增加以下内容 kernel.shmmni= 4096 kernel.sem =501000 6412800000 5 ...