我已经在cmd提示符下运行了以下命令。
setx SPARK_HOME E:\Raja\Installed_Software\spark-2.4.0-bin-hadoop2.7
它会在我的帐户(我想不是系统帐户)中创建SPARK_HOME
。我知道以下代码会从系统帐户中提取SPARK_HOME。
在R中:
> Sys.getenv("SPARK_HOME")
[1] ""
在Python中
import os
os.environ.get('SPARK_HOME', None)
有什么方法可以从我的帐户中获取SPARK_HOME
?谢谢。
答案 0 :(得分:0)
setx的Microsoft文档说:
Setx将变量写入注册表中的主环境。 使用setx变量设置的变量在将来的命令中可用 仅限Windows,不在当前命令窗口中。
因此,如果您是从与运行setx
命令相同的cmd窗口中启动或运行R的,则它将不起作用。您必须启动一个新的cmd窗口。
如果您希望持久化,则可以考虑在.Rprofile或.Renviron文件中进行设置,如果不需要持久化,则可以使用set
(如@alex_danielssen指出)。
答案 1 :(得分:0)
如果希望立即从当前命令窗口访问变量,请使用SET命令:
set SPARK_HOME='E:\Raja\Installed_Software\spark-2.4.0-bin-hadoop2.7'
正如G. Grothendieck指出的那样,setx命令仅在后续的cmd窗口中有效。