【问题标题】:Setting environment variables in the current environment with python (win32com)用python(win32com)在当前环境中设置环境变量
【发布时间】:2011-02-08 22:48:23
【问题描述】:

我正在尝试使用 python 设置将在 Python 父环境中持续存在的环境变量,即使在 python 退出到 shell 之后,但 不会持续一次父外壳关闭。打开一个新的 shell 需要再次运行 python 脚本才能正确设置环境。

根据this 帖子的建议,我正在尝试使用 win32com python 库来执行此操作。不幸的是,我对 win32 api 的经验很少。

基本上,我需要一种方法来获取当前环境的句柄,并设置环境变量,使其在 python 的父环境中持久存在,但在父环境退出后不会持久。

【问题讨论】:

  • 你看起来有点兴奋。 (对于那些将 cmets 标记为笑话的人:您已经证明基于社区的审核不起作用。)

标签: python windows winapi pywin32


【解决方案1】:

链接的帖子讲述了如何更改将影响新进程的 default 环境。它操纵注册表值。

"A process can never directly change the environment variables of another process that is not a child of that process",MS 文档说。因此,无论是否使用 Python,您都永远无法在子进程中实现既定目标。

【讨论】:

    【解决方案2】:

    不可能通过设计来更改父级的环境。你能做的最好的事情就是让你的程序发出改变环境的命令,然后你的程序的调用者需要评估你的命令的输出。

    【讨论】: