系统环境:RHEL5.4   python2.5(手动编译安装,系统带有2.4版本)

在使用python脚本访问数据库时,需要导入cx_Oracle模块

$>>>import cx_Oracle
Traceback (most recent call last):
  File "/ghca/monitor/async_Msg_MQDis/run.py", line 2, in <module>
    import async_Msg_MQDis
  File "/ghca/monitor/async_Msg_MQDis/async_Msg_MQDis.py", line 1, in <module>
    import cx_Oracle
ImportError: No module named cx_Oracle
分析原因:
1、怀疑缺少模块包
[oracle@radius1 async_Msg_MQDis]$ rpm -qa|grep cx
cx_Oracle-5.1.2-1
发现已安装,查询包安装目录
[oracle@radius1 async_Msg_MQDis]$ rpm -ql cx_Oracle-5.1.2-1|less
/usr/lib64/python2.4/site-packages/cx_Oracle.so
/usr/share/doc/cx_Oracle-5.1.2
2、切换到模块目录下进行导入
$cd /usr/lib64/python2.4/site-packages
[oracle@radius1 site-packages]$ python
Python 2.5.2 (r252:60911, Apr 11 2013, 14:10:12) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: ./cx_Oracle.so: undefined symbol: PyUnicodeUCS4_Decode
>>> 
3、猜测可能是python版本与cx_Oracle对应版本不一致导入
[oracle@radius1 ~]$ ls /usr/bin/python2.4 
/usr/bin/python2.4
[oracle@radius1 ~]$ /usr/bin/python2.4
Python 2.4.3 (#1, Jun 11 2009, 14:09:37) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
>>> 
导入成功
总结:中途也曾重新下载cx_Oracle-5.1.2-10g-py25-1.i386.rpm和cx_Oracle-5.1.2-10g-py25-1.x86_64.rpm进行尝试,均未导入成功,并且在安装了cx_Oracle*py25*.x86_64.rpm版本进行导入时报缺少“libpython2.5.so.1.0”库文件错误。在公司测试机上装有python2.6,其中 /usr/lib/libpython2.6.so.1.0 库文件属于python-libs-2.6.6-20.el6.i686包。

Python导入cx_Oracle报错的更多相关文章

  1. python导入cx_Oracle报错的问题!

    import cx_Oracle 总是报错:ImportError: DLL load failed: 找不到指定的模块. 或者:ImportError: DLL load failed: %1 不是 ...

  2. python导入openpyxl报错问题,终于解决啦

    问题:折腾了一上午,安装.卸载openpyxl多次,cmd中明明显示安装成功,可python文件import时就是报错 1.安装openpyxl后,python文件导入一直报错,经过一上午的努力,终于 ...

  3. python 导入beautifulsoup报错

    导入Beautifulsoup 报错 AttributeError: 'module' object has no attribute '_base' 解决方法:   pip install --up ...

  4. python导入模块报错:ImportError: No module named mysql.connector(安装 mysql)

    python的版本是 $ python --version Python 2.7.12 报错代码如下 import mysql.connector 报错信息是 ImportError: No modu ...

  5. Python 导入requests报错No module named requests

    刚开始是在Pycharm里面,发现就是不对,导入老提示No module named requests这个错误.后面发现是指向的python.exe路径不对,到setting里面设置换一下路径就好.

  6. Python:导入numpy报错 No module named numpy

    Numpy是python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比python自身的嵌套列表结构要高效的多.但是在使用numpy时可能会出错(如上图). 解决办法:下载安装对应版本 ...

  7. import cx_Oracle报错,提示importError: DLL load failed: 不是有效的Win32程序。

    问题说明1:WIN32,python是2.7版本,本地oracle client是32位的.import cx_Oracle报错,提示importError: DLL load failed: 该模块 ...

  8. maven项目引用时,导入类报错,选择两个项目同时执行Maven update

    maven项目引用时,导入类报错,选择两个项目同时执行Maven update springboot引入第三方jar,需要扫描时加@ComponentScan("第三方的包名") ...

  9. 导入项目报错:Type Java compiler level does not match the version

    1,导入项目报错一般是因为缺少jar包或者是jar包冲突 2,导入的jar包版本问题 3,环境需要重新修改,比如build path 中重新add libararies 遇到这种compiler环境问 ...

随机推荐

  1. [Spring MVC] - 500/404错误处理

    Spring MVC中404 找不到页面错误可以直接使用web.xml中配置: 在<web-app/>节点内加入: <error-page> <error-code> ...

  2. 小表驱动大表, 兼论exists和in

    给出两个表,A和B,A和B表的数据量, 当A小于B时,用exists select * from A where exists (select * from B where A.id=B.id) ex ...

  3. Ubuntu setup Static IP Address

    Change Ubuntu Server from DHCP to a Static IP Address If the Ubuntu Server installer has set your se ...

  4. 【maven】之配置开发,测试,正式环境pom.xml文件

    在进行web程序开发,如果项目组没有使用自动化发布工具(jenkins + maven + svn + tomcat ),我们一般会使用maven的热部署来完成发布,在部署的过程中我们开发,测试,生产 ...

  5. SonarQube的使用入门

    SonarQube的安装.配置与使用 详情请参照原博客:http://www.cnblogs.com/qiaoyeye/p/5249786.html SonarQube是管理代码质量一个开放平台,可以 ...

  6. MySQL 使用笔记

    1. How to export the database of mysql go to command line,  use "CMD" cd C:\Program Files\ ...

  7. Python的第二天

    一.while循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句-- 执行 ...

  8. NHibernate Demo 和 效率测试

    本文关于NHibernate的Demo和效率测试,希望对大家有用. 1.先去官网下载Nhibernate 2.放入到项目中并建立Helper类 private static ISession _Ses ...

  9. Spark之SQL解析(源码阅读十)

    如何能更好的运用与监控sparkSQL?或许我们改更深层次的了解它深层次的原理是什么.之前总结的已经写了传统数据库与Spark的sql解析之间的差别.那么我们下来直切主题~ 如今的Spark已经支持多 ...

  10. CentOS 下 sftp 有人能连有人不能连 程序设定了禁用IP

    问题现象: 局域网的一台Linux上运行有sftp Server. 大家用FileZilia 连接,有两个人能够连接,有两个人不能连接. 解决问题: 1.先查看服务器上的sftp server是哪一个 ...