使用Python设置cx_Oracle环境变量

用户2004245

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)
秃头

这个问题可能已经在此站点上得到了解答:如何在python中更改环境变量?我引用了已接受的答案:

您可以通过这种方式进行设置,但是之前已经运行过的加载器会读取$ LD_LIBRARY_PATH,因此必须事先在外部设置该设置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章