0

正是它所说的。我可以设置每个用户的环境变量,无论是从 Windows > 键入“路径”,还是使用 RegEdit,甚至从 Python 脚本。

但是,如果我运行一个应用程序(例如从 Launchy,或从 Chrome 启动它),它不会获取新变量。我必须启动一个新的cmd或 Windows 资源管理器(我认为)来获取新值。

现在,显然我可以在每次使用的基础上设置它们,但我想为我的帐户全局设置它们,也为我当时碰巧使用的任何进程设置它们。这可能吗?是否有可能(或更容易)从 Python 脚本中完成?

4

1 回答 1

3

如果您在注册表中设置环境变量(或通过系统属性 > 高级 > 环境变量 UI),对于从设置变量后创建的顶级上下文启动的每个进程,它将是全局且持久的。但是,除非您将注册表中的值与该上下文中的现有值显式合并,否则在更改之前初始化的外壳和上下文将不会获取这些更改。每个上下文都继承其父环境的环境,但在那之后,对父环境或子环境的更改不会在任一方向传播。在顶层创建的上下文从注册表中获取它们的环境。

于 2013-02-26T21:20:50.873 回答