iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python安装cx_Oracle模块常见问题与解决方法
  • 927
分享到

python安装cx_Oracle模块常见问题与解决方法

常见问题解决方法模块 2022-06-04 18:06:51 927人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本文实例讲述了python安装cx_oracle模块常见问题与解决方法。分享给大家供大家参考,具体如下: 安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclntsh.so.10.1,

本文实例讲述了python安装cx_oracle模块常见问题与解决方法。分享给大家供大家参考,具体如下:

安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclntsh.so.10.1,否则会有各种各样的错误信息。

安装Oracle Instant Client就可得到这个链接库,避免安装几百兆之巨的Oracle Client。

软件下载地址:

cx_Oracle的主页:Http://cx-oracle.sourceforge.net/
必需的Oracle链接库的下载地址:http://www.oracle.com/technology/software/tech/oci/instantclient/index.html

常见的错误和解决方法:

一.win32二进制安装

windows下安装cx_Oracle-5.0-10g.win32-py2.6.msi之后,导入时,报DLL加载失败的错误,如下:

IDLE 2.6.1


>>> import cx_Oracle
Traceback (most recent call last):
 File "<pyshell#0>", line 1, in <module>
  import cx_Oracle
ImportError: DLL load failed: 找不到指定的程序。

解决方法:

从Oracle站点下载instantclient-basic-win32-10.2.0.4.zip,解压后,将其中的oci.dll文件复制到Python安装目录的Lib/site-packages下,如 C:/Python26/Lib/site-packages

二.linux下二进制安装

linux_x86_64下,安装cx_Oracle-5.0.1-10g-py24-1.x86_64.rpm时报错。


[root@BJ-UPDATE-01 ~]# rpm -ivh cx_Oracle-5.0.1-10g-py24-1.x86_64.rpm
error: Failed dependencies:
    libclntsh.so.10.1()(64bit) is needed by cx_Oracle-5.0.1-1.x86_64

解决方法:

参考http://cx-oracle.sourceforge.net/BUILD.txt

从Oracle站点下载basic-10.2.0.4.0-linux-x86_64.zip到/opt目录并解压,会看到libclntsh.so.10.1在/opt/instantclient_10_2目录中

设置环境变量


vi /root/.bash_profile

增加如下两行:


export ORACLE_HOME=/opt/instantclient_10_2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME

运行source /root/.bash_profile使改动生效

建立此链接库的符号链接


cd $ORACLE_HOME
ln -s libclntsh.so.x.x libclntsh.so

重新安装cx_Oracle

注意加--nodeps参数,否则还会报上述错误


[root@BJ-UPDATE-01 ~]# rpm -ivh --nodeps cx_Oracle-5.0.1-10g-py24-1.x86_64.rpm
#5.0.3版本不用加--nodeps参数

三.linux下源代码安装

设置环境变量及符号链接如上,在linux_x86_64下源代码安装,运行python setup.py build,编译时错误信息如下:

Connection.c:1169: 警告:语句不起作用
Connection.c:1171: 错误:'udt_Connection' 没有名为 'environment' 的成员
Connection.c:1172: 警告:传递参数 1 (属于 'Environment_CheckForError')时在不兼容的指针类型间转换
Connection.c:1172: 警告:传递参数 2 (属于 'Environment_CheckForError')时在不兼容的指针类型间转换
Connection.c:1172: 错误:提供给函数 'Environment_CheckForError' 的实参太多
Connection.c:1176: 错误:'udt_Connection' 没有名为 'sessionHandle' 的成员

解决方法:

5.0.3版本的未出现此错误,要注意ORACLE_HOME下要有include目录,这个目录中要有编译需要的源文件,源文件在Oracle Instant Client这个客户端中没有包含。我是从windows客户端的D:/oracle/product/10.2.0/client_1/oci/include这个目录中拷贝的。

四.import错误


>>> import cx_Oracle
Traceback (most recent call last):
 File "<stdin>", line 1, in ?
ImportError: /usr/lib/oracle/10.2.0.4/client64//lib/libnnz10.so: cannot restore segment prot after reloc: Permission denied
>>> import cx_Oracle
Traceback (most recent call last):
 File "<stdin>", line 1, in ?
ImportError: /usr/lib/oracle/10.2.0.4/client64//lib/libclntsh.so.10.1: cannot restore segment prot after reloc: Permission denied
>>> import cx_Oracle
>>>

这是因为SELinux的限制,运行如下命令取消限制:


chcon -t texrel_shlib_t cd $ORACLE_HOME/libnnz10.so
chcon -t texrel_shlib_t cd $ORACLE_HOME/libclntsh.so.10.1

五、运行时错误


Traceback (most recent call last):
 File "oracle_conn.py", line 9, in ?
  connection = cx_Oracle.Connection(u"oracle/oracle123@CCIP")
cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle

还是SELinux的限制,设置SELinux为disabled

关掉selinux:

运行命令: vim /etc/selinux/config
将selinux=enforcing或permissive改成disabled
运行命令: setenforce 0

六. UNICODE的安装包有问题


Traceback (most recent call last):
 File "./oracle_conn.py", line 22, in ?
  folderIds=cursor.fetchmany(10)
cx_Oracle.DatabaseError: OCI-22061: Message 22061 not found; No message file for product=RDBMS, facility=OCI; arguments: [T

目前发现5.0.3版的包在执行sql时会导致报错,不建议使用,换成非UNICODE的包就没问题了。

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python编码操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

--结束END--

本文标题: python安装cx_Oracle模块常见问题与解决方法

本文链接: https://www.lsjlt.com/news/13652.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python安装cx_Oracle模块常见问题与解决方法
    本文实例讲述了python安装cx_Oracle模块常见问题与解决方法。分享给大家供大家参考,具体如下: 安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclntsh.so.10.1,...
    99+
    2022-06-04
    常见问题 解决方法 模块
  • Centos安装python3与scapy模块的问题及解决方法
    目录一、CentOS安装Python3 二、安装scapy模块一、CentOS安装Python3 centos7自带版本是python2.7 如果要用的3.0以上的版本需要...
    99+
    2022-11-11
  • Windows 7系统安装常见问题解决方法
    随着正版Windows7用户的不断增加,许多用户开始尝试自己对重新安装或是帮朋友安装Windows7的系统。但是Windows 7的安装过程,可能会因为许多外在原因导致安装不能够继续进行。凭个人经验来说,主要原因不外乎...
    99+
    2023-05-29
    Windows 7 系统 安装 常见问题 解决 问题 方法
  • pycharm无法安装cv2模块问题及解决方案
    目录pycharm安装cv2模块安装失败和无法使用的解决步骤一步骤二步骤三pycharm安装cv2遇到的坑pycharm安装cv2模块安装失败和无法使用的解决 步骤一 我们先到这个网...
    99+
    2022-11-11
  • 解决Pycharm模块安装慢问题的两种方法
    目录第一种 直接在Pycharm中修改第二种 修改pip.ini文件总结 pycharm 模块安装慢解决方法 接下来介绍的两种方法本质上都是改变镜像源 第一种 直接在Pyc...
    99+
    2022-12-22
    pycharm安装模块时速度很慢 pycharm模块安装 Pycharm模块安装慢
  • R语言安装R包的方法,mac、windows、linux安装R包常见问题与解决方法
    R语言如何快速安装R包? 如果把R比作是沃土的话,那么R包就是鲜花,开源共享的开发者社区提供了很多功能丰富的R包,方便使用者充分利用R语言完成工作。 但是,有时候在安装R包是会遇到各种各样的报错和问题...
    99+
    2023-09-21
    程序人生
  • DKhadoop安装与配置常见问题及解决方法是怎么样的
    DKhadoop安装与配置常见问题及解决方法是怎么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天给大家就dkhadoop开发环境安装中常见的问题以及解决方法进行汇总...
    99+
    2023-06-02
  • Python中内置模块的常见问题及解决策略
    Python中内置模块的常见问题及解决策略引言:Python作为一种简单易学且功能强大的编程语言,其内置模块提供了众多常用的功能和工具。然而,正因为其广泛使用,一些常见的问题也会随之出现。本文将介绍一些Python内置模块的典型问题,并提供...
    99+
    2023-10-22
  • Centos安装python3与scapy模块的问题如何解决
    今天小编给大家分享一下Centos安装python3与scapy模块的问题如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-02
  • DKhadoop安装配置详细教程与常见问题解决方法是什么
    本篇文章为大家展示了DKhadoop安装配置详细教程与常见问题解决方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。DKhadoop安装配置详细教程与常见问题解决方法上周分别就DKHadoop...
    99+
    2023-06-02
  • Python中常见的网络安全问题及解决方法
    Python中常见的网络安全问题及解决方法随着互联网的快速发展和普及,网络安全问题变得更加重要和突出。Python作为一种强大的编程语言,也不免受到网络攻击的威胁。本文将介绍一些常见的网络安全问题,并提供解决方法及具体的代码示例,帮助开发者...
    99+
    2023-10-22
    Python 解决方法 关键词: 网络安全问题
  • Ubuntu中常用软件的安装及常见问题的解决方法
    这篇文章主要讲解了“Ubuntu中常用软件的安装及常见问题的解决方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ubuntu中常用软件的安装及常见问题的解决方法”吧!常用软件的安装gcc5...
    99+
    2023-06-13
  • 在Mac上安装SQLsever,常见问题及解决方案
    前言: 最近入手了新的Mac M2 arm 框架的 苹果电脑,公司新项目采用SQLsever2019版本,在Mac上安装SQLsever千难万阻,查阅很多资料最后寻求的解决方案,记录如下,供大家参考。...
    99+
    2023-09-17
    macos docker sqlserver
  • SQL Server数据库安装时常见问题以及解决方法
    这期内容当中小编将会给大家带来有关SQL Server数据库安装时常见问题以及解决方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。常见问题一:安装Sql Server ...
    99+
    2022-10-18
  • 安装SQLServer数据库的时的常见问题及解决方法
    本篇内容主要讲解“安装SQLServer数据库的时的常见问题及解决方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“安装SQLServer数据库的时的常见问题及...
    99+
    2022-10-18
  • Ubuntu 12.04安装Xen常见问题及解决方法是怎样的
    Ubuntu 12.04安装Xen常见问题及解决方法是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  安装过程:  1.安装编译 Xen 和 Linux xen k...
    99+
    2023-06-13
  • 安装Python后IDA中找不到Python模块的问题解决
            IDA中以插件的方式支持Python的嵌入,所以在安装IDA时也需要安装Python。有天在一台...
    99+
    2022-11-12
  • Python中装饰器的常见问题及解决方案
    Python中装饰器的常见问题及解决方案什么是装饰器装饰器是Python中一种非常强大的功能,可以用来修改已有函数或类的行为,而无需修改其源代码。装饰器实际上是个函数或类,它接受一个函数或类作为参数,然后返回一个新的函数或类。如何编写一个简...
    99+
    2023-10-22
    解决方案 问题 装饰器
  • PHP与MySQL索引的常见问题及解决方法
    引言:在使用PHP开发网站应用程序时,经常会涉及到与数据库的交互操作,而MySQL作为开发者最常用的数据库之一,索引的优化对于提高查询效率起着至关重要的作用。本文将介绍PHP与MySQL索引的常见问题,并给出相应的解决方法,同时提供具体的代...
    99+
    2023-10-21
  • python中安装模块包版本冲突问题的解决
    问题 最近在工作中遇到一个问题,在安装python软件包的时候,经常会遇类似这样一个问题。比如对于ipython,机子本身安装的版本是1.2.1,显然太低,不足以跑jupyter,尝试着用pip安装,却发...
    99+
    2022-06-04
    模块 冲突 版本
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作