【发布时间】:2016-12-23 06:51:12
【问题描述】:
我有一些需要环境变量的仪器,我想从 python 代码中自动设置它。所以我尝试了几种方法来实现它,但都没有成功。 以下是一些示例:
-
我在我的 python 脚本中插入以下代码
import os os.system("export ENV_VAR=/some_path") -
我创建了 bash 脚本(env.sh)并从 python 运行它:
#!/bin/bash export ENV_VAR=some_path #call it from python os.system("source env.sh") - 我也试过 os.putenv() 和 os.environ["ENV_VAR"] = "some_path"
是否可以使用 python 设置(导出)环境变量,即 不直接导出到shell?
【问题讨论】:
-
这个“工具”是从 python 脚本中启动的吗?
-
是的,正因为如此,我还需要更改我的 PATH 环境变量。
-
所有进程都有一个环境块,不管它们是用哪种语言编写的——你不需要外壳。当您
fork()时,环境块(默认情况下)从父级复制到子级 - 它们不会在任何其他时间复制。