Python导入cx_Oracle报错

系统环境: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、怀疑缺少模块包

[[email protected] async_Msg_MQDis]$ rpm -qa|grep cx

cx_Oracle-5.1.2-1

发现已安装,查询包安装目录

[[email protected] 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

[[email protected] 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对应版本不一致导入

[[email protected] ~]$ ls /usr/bin/python2.4

/usr/bin/python2.4

[[email protected] ~]$ /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包。

时间: 2024-10-29 06:38:18

Python导入cx_Oracle报错的相关文章

python导入cx_Oracle报错的问题!

import cx_Oracle 总是报错:ImportError: DLL load failed: 找不到指定的模块. 或者:ImportError: DLL load failed: %1 不是有效的 Win32 应用程序. 按照网上的方法,试了很多,始终不得要领,也用depends.exe查看cx_Oracle.pyd的文件,找出缺失的dll. 最后发现是由于本机的oci.dll(184KB)不行,找到另外一台机器的同样是win32的oci.dll(336KB)就可以了. mark!

python 导入beautifulsoup报错

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

Python 导入requests报错No module named requests

刚开始是在Pycharm里面,发现就是不对,导入老提示No module named requests这个错误.后面发现是指向的python.exe路径不对,到setting里面设置换一下路径就好. 原文地址:https://www.cnblogs.com/PeterZhang1520389703/p/8615885.html

命令行运行python项目文件,报错:ModuleNotFoundError: No module named &#39;xxxx&#39; 解决办法

在pycharm中写好了自动化测试脚本,并能在pycharm中正常运行,由于要考虑到无人值守时能自动执行,执行时就需要脱离pycharm,直接能用命令执行.但是直接用命令执行用例文件:python3 D:\pycode\autotest_framework\case\run_case.py 结果报错,找不到模块 自动化项目的结构如下:用例run_case.py 和工具类utils下的工具 不在同一个文件夹下面.在脚本中需要导入包如: from utils.HTMLTestRunner impor

[Python] 运行Flask, 报错:UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0xc4 in position 33: ordinal not in range(128)

运行时报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 33: ordinal not in range(128) Python2.7在Windows上一个bug!!! 解决方法: 参考官方patch: http://bugs.python.org/file19332/9291a.patch 如下代码:一,加入from itertools import count: 二,修改 def enum_type

python框架Scrapy报错TypeError: &#39;float&#39; object is not iterable解决

原因是:Twisted版本高了. 解决办法: 只要把Twisted库降级到16.6.0即可: 1 pip3 install Twisted==16.6.0 2 3 注:Twisted16.6.0安装后,会自动卸载高版本的Twisted python框架Scrapy报错TypeError: 'float' object is not iterable解决

导入导出报错

导入导出报错: 另: 右键--共享:停止共享: 可能无效. 此时,可以通过修改文件夹的权限,来达到停止共享的目的:

Android见招拆招九:字符编码问题导入项目报错

导入项目报错 问题原因及解决 字符编码问题,UTF-8和GBK Android见招拆招九:字符编码问题导入项目报错,布布扣,bubuko.com

python中文注释报错问题

错误信息: SyntaxError: Non-ASCII character '\xe4' in file... 解决办法: 在文件第一行或第二行添加:# -*- coding: utf-8 -*- 参考:http://blog.csdn.net/chen861201/article/details/7706535 python中文注释报错问题,布布扣,bubuko.com