小编典典

在python脚本中设置环境变量

python

我有一个bash脚本,用于设置环境变量并运行命令

LD_LIBRARY_PATH=my_path
sqsub -np $1 /homedir/anotherdir/executable

现在,我想使用python代替bash,因为我想计算传递给命令的一些参数。

我试过了

putenv("LD_LIBRARY_PATH", "my_path")

call("export LD_LIBRARY_PATH=my_path")

其次是

call("sqsub -np " + var1 + "/homedir/anotherdir/executable")

但由于未设置LD_LIBRARY_PATH,因此程序总是放弃。

我怎样才能解决这个问题?

感谢帮助!

(如果我在调用python脚本之前导出LD_LIBRARY_PATH,则一切正常,但我希望python确定路径并将环境变量设置为正确的值)


阅读 354

收藏
2020-12-20

共1个答案

小编典典

重击:

LD_LIBRARY_PATH=my_path
sqsub -np $1 /path/to/executable

在Python中类似:

import os
import subprocess
import sys

os.environ['LD_LIBRARY_PATH'] = "my_path" # visible in this process + all children
subprocess.check_call(['sqsub', '-np', sys.argv[1], '/path/to/executable'],
                      env=dict(os.environ, SQSUB_VAR="visible in this subprocess"))
2020-12-20