打开命令行时,Windows环境变量会发生变化?

2024-09-28 19:27:08 发布

您现在位置:Python中文网/ 问答频道 /正文

有时,当我在Windows中更改环境变量,然后使用软件依赖于这些变量时,它们不会正确更新。在

一个很好的例子是更改一个变量,然后打开Windows命令行并回显该变量,并查看它没有被更改,即使您在Environment Variables窗口中正确地更改了它。在

我现在处理的另一个例子是:

我在一个项目中使用python2.4.x有一段时间了,它使用env varPYTHONPATH,其值是:

C:\Python24;C:\Python24\lib

今天我为这个项目安装了Python2.5.x。我把我的Python路径改成:

^{pr2}$

当我使用Python 2.5运行脚本并执行以下操作时:

import sys
print sys.path

它打印:

'C:\\PYTHON24', 'C:\\PYTHON24\\lib' (and some other Python 2.5 related default installation paths)

很明显,旧的PYTHONPATH环境变量的更改并没有真正坚持。。。。在

有人知道为什么会发生这种情况,以及如何解决它吗?在


Tags: 项目命令行路径env软件environmentwindowslib
1条回答
网友
1楼 · 发布于 2024-09-28 19:27:08

在“系统属性”选项卡中更改环境变量时,新值将传播到Windows资源管理器和任何应用程序(例如命令提示符)从Windows资源管理器(或“运行”框、“开始”菜单等)打开时应该会看到新值。在

但是,如果您正在运行一个程序,如编辑器、python或某个非Microsoft程序启动器,请更改一个环境变量,然后启动命令行.exe从该程序(而不是Windows资源管理器)中,您可能会看到环境变量的旧值。原因是正在运行的程序忽略了来自Windows的通知,即环境已更改(一点也不异常),而且由于启动的进程继承了环境变量,所以子进程看不到这些更改。在

解决方法是确保从Windows资源管理器或“运行盒”启动应用程序。重新启动您的机器也可以工作(如果重新启动不能解决问题,则会发生其他事情)。在

相关问题 更多 >