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

时间:2020-06-22 12:35:10

标签: python linux jupyter-notebook

我设置了systemctl服务(Jupyter)作为Hadoop集群引导程序的一部分。引导操作完成后,将安装Hadoop。在这一步骤中,设置了许多环境变量-这些变量对我的服务Jupyter至关重要。问题是,Jupyter不知道这些环境变量,因为它是在该过程中较早启动的。

我的问题:如何为用户重新加载环境变量?在用户运行Jupyter的那一刻,所有的env变量都是已知的-我只需要将它们加载到Python解释器中即可。

这在笔记本os.environ['JAVA_HOME']中失败,但是在解释器中工作正常(因为JAVA_HOME是在Jupyter启动后定义的。)

1 个答案:

答案 0 :(得分:1)

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