如何为嵌入式Python解释器设置环境变量值?

时间:2014-10-06 09:57:43

标签: python embedded environment-variables

我需要在脚本中传递环境变量值,在嵌入式(在iOS应用程序中)Python解释器中进行解释。我知道我可以在setenv之前使用Py_Initialize,但它可供所有第三方库使用。是否有可能为Python解释设置环境变量值?像Py_SetEnvVar(char *name, char *value)这样的东西使它在python脚本中可用:

os.environ.get('MY_ENV_VAR')

1 个答案:

答案 0 :(得分:1)

好的,你似乎并不赞同我,但我会留在这里以防万一有类似问题的人发现它有用。如果你愿意的话,你可以随便投票,这是公平的。

没有Py_SetEnvVar或类似内容,因为嵌入式解释器没有自定义环境。它在同一个进程中运行,因此环境是相同的,因此变量是相同的。您不能在一个进程中有两个隔离的环境或子环境。如果您的Python代码依赖于环境变量,并且它必须在嵌入式解释器中运行,那么这些变量将在整个过程中可见。如果您希望在同一进程中从第三方库隐藏变量,请不要使用环境变量。