【问题标题】:Segmentation error when using cx_Oracle with pandas将 cx_Oracle 与 pandas 一起使用时出现分段错误
【发布时间】:2019-09-25 14:12:18
【问题描述】:

我在我的项目中使用 cx_Oracle 和 pandas。每当我单独运行 cx_Oracle 时,它​​都会成功连接。但是在导入 pandas 后,它会因分段错误而失败。

点子显示的输出

名称:cx-Oracle

版本:7.2.2

名称:熊猫

版本:0.25.1

用于连接oracle的代码

 #import pandas
 import cx_Oracle
 dsn = cx_Oracle.makedsn('hostname','port',sevice_name='service_name')
 conn = cx_Oracle.connect("username","password",dsn)
 print("Connection Successful!")

上面的代码打印

连接成功!

但是当 import pandas 未注释并使用时,它会抛出 -

分段错误(核心转储)

 import pandas
 import cx_Oracle
 dsn = cx_Oracle.makedsn('hostname','port',sevice_name='service_name')
 conn = cx_Oracle.connect("username","password",dsn)
 print("Connection Successful!")

我正在使用 python 3.6

【问题讨论】:

  • 您是否在同一个终端窗口同时运行成功和不成功的案例?如果没有,那么猜测是您安装了多个版本的 Oracle 客户端库并且存在冲突。
  • 我正在从同一个终端窗口运行成功和不成功的案例。每当我使用熊猫时,它都会失败。使用其他库不会导致此错误发生。但如果 pandas 和 cx_Oracle 一起导入,则会引发分段错误。 @ChristopherJones

标签: python python-3.x pandas oracle cx-oracle


【解决方案1】:

我通过使用oracle instant client v18.5.0.0.0 而不是oracle instant client v19.3.0.0.0 解决了冲突问题。可能是glibc 2.14 有一些冲突错误,这是最新即时客户端的依赖项。

如果有人遇到同样的问题,请参考instant client v18.5.0.0.0,这需要glibc 2.12

Oracle 即时客户端下载页面:https://www.oracle.com/database/technologies/instant-client/downloads.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 2019-01-28
    • 2019-04-12
    • 2013-12-27
    • 2015-05-01
    • 2018-06-21
    • 2019-05-27
    相关资源
    最近更新 更多