cx_Oracle for
Python要求设置某些环境变量以便导入和正常工作.而不是尝试将我的应用程序包装在bash脚本中,这是我过去所做的,我试图仅使用Python设置变量.
以下是我到目前为止的情况.
# Check if OS environment variables are setup.
if 'ORACLE_HOME' not in os.environ.keys():
os.environ['ORACLE_HOME'] = '/usr/lib/oracle/12.1/client64'
if 'LD_LIBRARY_PATH' not in os.environ.keys():
os.environ['LD_LIBRARY_PATH'] = os.environ['ORACLE_HOME'] + '/lib'
if '/usr/lib/oracle' not in os.environ['PATH']:
os.environ['PATH'] = os.environ['ORACLE_HOME'] + '/bin:' + os.environ['PATH']
import cx_Oracle
不幸的是,我仍然从cx_Oracle接收异常,这基本上意味着变量设置不正确.
我也尝试使用subprocess.Popen()和subprocess.call()来直接调用导出,但我不确定它们是否只是不工作或者我不能正确理解这些函数.
设置这些变量的最佳方法是什么,这样我就可以使用Python 3导入cx_Oracle.
编辑,下面是我通常添加到我的bash包装器的内容:
#!/bin/sh
# Initialize Environmental Variables for cx_Oracle
export ORACLE_HOME=/usr/lib/oracle/12.1/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
(Python Script)