gpt4 book ai didi

python - 64位Oracle客户端库无法在mac中加载

转载 作者:行者123 更新时间:2023-12-01 01:28:47 26 4
gpt4 key购买 nike

我为 Oracle 数据库连接创建了一个示例 Python 脚本,用于运行数据库测试查询,我在 Windows 上运行了相同的脚本,它运行良好,但在 Mac 上运行时,它一次又一次地向我显示此异常。

cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "dlopen(libclntsh.dylib, 1): image not found". See https://oracle.github.io/odpi/doc/installation.html#macos for help

我已经更改了 bash_profile 上的环境变量,如下所示:

export ORACLE_HOME= /opt/oracle/instantclient_12_2/
export DYLD_LIBRARY_PATH=$ORACLE_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH

仍然无法工作。有人可以帮我吗?谢谢

最佳答案

来自Installation Instructions确保您没有使用默认的 Python 二进制文件。 (更新:使用最新版本的 cx_Oracle,现在称为 python-oracledb,请参阅这些 Installation Instructions 。在最近的 macOS 版本上,它可以与 macOS Intel 和 M1/M2 上的默认 python3 可执行文件一起使用)。

然后在新的 python 上安装 cx_Oracle,正如您已经知道的那样。

更新:以下步骤对于当前版本的 Instant Client 来说已经过时。只需按照上面的安装说明链接即可。

最后,确保 Instant Client 已解压缩并配置:

mkdir ~/lib
ln -s /opt/oracle/instantclient_12_2/libclntsh.dylib ~/lib/

设置 DYLD_LIBRARY_PATH 是没有意义的,因为 macOS 的 SIP 保护会阻止它工作。自 cx_Oracle 5 天以来,不再需要为 cx_Oracle 设置 ORACLE_HOME。 LD_LIBRARY_PATH 主要是 UNIX 的东西,所以也不要设置它。

关于python - 64位Oracle客户端库无法在mac中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53098434/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com