将环境变量与R网状结构一起使用

问题描述

我有一个要通过网状结构在R中使用的Python软件包。但是,该Python函数似乎看不到R环境中的环境变量。如何成功设置环境变量以供Python函数查看?

所以,如果我有一个类似python的函数

import os

def: toy_function():
    return os.environ['ENVVAR']

我希望能够做到:

library(reticulate)
source_python("toy_function.py")
sys.setenv("ENVVAR"="HELLO")
print(toy_function())

然后查看“ HELLO”。目前,我收到一个找不到“ ENVVAR”的错误

谢谢!

解决方法

哦,事实证明,有一个奇怪的解决方法,您只需要从R直接在Python中调用环境变量设置即可:

py_run_string("import os")
py_run_string("os.environ['ENNVAR'] = 'HELLO'")