【问题标题】:"libnnz19.so: cannot open shared object file: No such file or directory“libnnz19.so:无法打开共享对象文件:没有这样的文件或目录
【发布时间】:2021-04-16 08:00:03
【问题描述】:

我已经在容器中安装了 cx_oracle(python3) 和即时客户端 21_1。当我第一次尝试时出现此错误

Cannot locate a 64-bit Oracle Client library: "/python- 
env/instantclient_21_1/lib/libclntsh.so:

所以我在 /python-env/instantclient_21_1/ 下创建了 lib 并再次尝试,现在我收到此错误

cx_Oracle.DatabaseError:DPI-1047:找不到 64 位 Oracle 客户端库:“libnnz19.so:无法打开共享对象文件:没有这样的文件或目录”。请参阅https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html 寻求帮助

我不明白它在哪里搜索那个 so 文件。它已经存在于 /python- env/instantclient_21_1/lib/

请帮忙

【问题讨论】:

  • 该位置在LD_LIBRARY_PATH 中吗?对库运行ldd(以查看它依赖的其他库)是否会给您另一个指向根本原因的错误?
  • 运行 ldd 返回所有列表,似乎所有依赖都已解决
  • 这令人鼓舞。将LDD_LIBRARY_PATH 设置为包含目录 (export LDD_LIBRARY_PATH=/python-env/instantclient_21_1/lib) 会改变什么吗?

标签: python cx-oracle instantclient


【解决方案1】:

按照Instant Client installation stepscx_Oracle Installation steps 并使用ldconfig 设置库路径以包含Instant Client 目录。

您可以设置DPI_DEBUG_LEVEL=64(参见here)来跟踪cx_Oracle 是如何查找库的。

另见Docker for Oracle Database Applications in Node.js and Python

【讨论】:

    猜你喜欢
    • 2021-07-19
    • 2014-01-17
    • 2021-12-20
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    相关资源
    最近更新 更多