安装程序后如何刷新系统路径/变量?

时间:2017-04-04 21:18:33

标签: python python-2.7

我有一个python脚本,它将安装一个应用程序:

os.system("path/to/my.exe /VERYSILENT")

当我这样做时,例如我会安装 Git

稍后,该应用程序将调用:

os.system("git --version")

无法调用,因为它不知道git是什么。

从它的外观来看,系统变量等都是在import os时被抓取的,所以我可以在以某种方式安装应用程序重新导入操作系统后再进行操作?

我希望的最终状态是刷新CMD,类似于关闭终端并打开新终端的方式。

1 个答案:

答案 0 :(得分:1)

子shell(如os.system(..)中所示)不会影响父进程的执行环境(它将是巨大的安全漏洞)。您可以使用以下方式更新永久用户环境: Powershell([environment]::SetEnvironmentVariable($key, $val, "User"))。之后启动的任何进程都将看到新的环境变量(这就是您需要关闭cmd窗口并启动新窗口的原因。