python - 如何在 Python 中重新加载环境变量?

标签 python linux jupyter-notebook

我设置了systemctl服务 (Jupyter) 作为 Hadoop 集群 bootstrap 的一部分。引导操作完成后,将安装 Hadoop。在该步骤中,设置了许多环境变量 - 这些对我的服务 Jupyter 至关重要。问题是,Jupyter 不知道这些环境变量,因为它在该过程的早期启动。
我的问题:如何为我的用户重新加载环境变量?在用户运行 Jupyter 的那一刻,所有 env 变量都是已知的——我只需要将它们加载到 Python 解释器中。
这在笔记本内部失败:os.environ['JAVA_HOME']但在解释器中工作正常(因为 JAVA_HOME 是在 Jupyter 启动后定义的)。

最佳答案

环境变量在进程启动时是本地的,并从父进程继承我认为您将无法从该进程外部设置它们。您可以在该进程中设置它们,但您需要建立某种方式将它们传入。(例如放入文件并在线程上定期读取某些内容并将它们设置为该进程的本地)

关于python - 如何在 Python 中重新加载环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62514598/

相关文章:

python - python中的私有(private)公共(public)保护访问说明符

python - Tensorflow 2.1.0错误,模块 'tensorflow'没有属性 'GraphKeys'

python - 在多进程模式下运行 Nose 测试时,导入未得到正确处理

jupyter-notebook - 如何向 PyCharm 的内置 Jupyter 解释器添加启动参数?

python - 在高级图表上设置 x 轴和 y 轴范围?

python - 如何使用假设库创建日期时间索引 pandas DataFrame?

linux - 在未安装 gpg 的提交中查看 git pgp sigs

linux - bash sh 差异,脚本转换

linux - 如何拆分文件并保留每个部分的第一行?

json - 如何将每 n 行添加到 n 列?