在 ORACLE 中使用 python 在 linux 中设置环境变量?

Setting environment variables in linux using python for ORACLE?

我正在使用 cx_oracle 库并且必须使用 linux

指定以下内容

导出LD_LIBRARY_PATH=/opt/oracle/12.1.0_64bit/product/12.1.0/client_2/lib 导出 ORACLE_HOME=/opt/oracle/12.1.0_64bit/product/12.1.0/client_2

这让我的代码工作正常

问题是这不会在每个会话中保存,所以我决定将它添加到我的脚本中,而不是像这样

os.environ["ORACLE_HOME"] = /opt/oracle/12.1.0_64bit/product/12.1.0/client_2 
os.environ["LD_LIBRARY_PATH"] = /opt/oracle/12.1.0_64bit/product/12.1.0/client_2 

但它不起作用。我在导入后立即添加了该行,所以它是第一件事 运行,但它没有更改变量。

当我在脚本后回显这两个变量时,它们仍然是空的。

在 Linux 上,您需要在进程(例如 Python)开始之前设置 LD_LIBRARY_PATH。

否则你可以将环境变量添加到像 ~/.bashrc 这样的文件中,或者有一个像 p.sh:

这样的包装脚本
#!/bin/sh

export LD_LIBRARY_PATH=/opt/oracle/12.1.0_64bit/product/12.1.0/client_2/lib 
export ORACLE_HOME=/opt/oracle/12.1.0_64bit/product/12.1.0/client_2
python $@

您需要完整客户端吗?您是否安装了其他 Oracle 软件?如果不是 & 否,则考虑使用 Oracle Instant Client and using ldconfig so you don't need to set environment variables, see the installation instructions at https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html#ic_x64_inst