我设置了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/