os.getenv returns 空输出 - python

os.getenv returns empty output - python

我是 python 的新手,在执行 os 命令时遇到了一些问题。

我已经将我的 environment variables 设置为如下所示

SPARK_HOME = '/opt/spark'
HAIL_HOME  = '/opt/hail/hail'

当我输入 os.getenv('SPARK_HOME') 时,我得到以下输出

'/opt/spark/'

但是当我输入 os.getenv('HAIL_HOME') 时,我得到 空白输出

请注意,我使用 jupyter notebook 从虚拟环境中键入以上两个命令。

  1. 为什么它适用于 spark 而 returns 对于 hail
  2. 是空的

可以指导我解决这个问题吗?

根据我们在聊天中的讨论,确定了几个问题。

变量设置与环境变量设置相混淆。所以设置它们的正确方法应该是:

os.putenv('SPARK_HOME', '/opt/spark')
os.putenv('HAIL_HOME', '/opt/hail/hail')

即使错误的 env 变量集尝试,SPARK_HOME 也会显示正确的值,因为 jupyter 进程从 shell.

继承了该变量