如何在python中更改环境变量?

Bdf*_*dfy 4 python cx-oracle

我有一个简单的python脚本(test.py):

import cx_Oracle
from cx_Oracle
tns = cx_Oracle.makedsn('10.10.1.3', 1521, 'etst')
db = cx_Oracle.connect('test', 'test', tns)
Run Code Online (Sandbox Code Playgroud)

如果我用enviroument设置运行脚本,它是有用的:

export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
./test.py
Run Code Online (Sandbox Code Playgroud)

我可以在python脚本中设置环境变量吗?

os.environ['LD_LIBRARY_PATH'] = "/usr/lib/oracle/11.2/client64/lib"
os.putenv('LD_LIBRARY_PATH', "/usr/lib/oracle/11.2/client64/lib/")
Run Code Online (Sandbox Code Playgroud)

不行.

Ign*_*ams 9

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

  • 具体来说,`$ LD_LIBRARY_PATH`不被`cx_Oracle`使用,但它用于创建Python进程.因此需要在执行Python的第一个字节之前定义它. (2认同)