使用不同的环境在 python 中启动程序

Launch program in python with a different environment

我有一个初始 python 脚本,我为其设置了特定环境 (LD_LIBRARY_PATH, ...)。 在此脚本中,我想调用另一个程序,该程序也需要与第一个不兼容的特定环境。 我尝试了 os.system 和 subprocess 命令,但看起来好像在启动这些命令时,它们都保持初始环境。

感谢您的帮助。

subprocess.Popen() accepts an env parameter 您可以使用,例如用额外的东西来扩充当前环境,

proc = subprocess.Popen(..., env={**os.environ, 'LD_LIBRARY_PATH': '/something/'})

或批发更换它,

proc = subprocess.Popen(..., env={'LD_LIBRARY_PATH': '/something/'})