有时,当我在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
环境变量的更改并没有真正坚持。。。。在
有人知道为什么会发生这种情况,以及如何解决它吗?在
在“系统属性”选项卡中更改环境变量时,新值将传播到Windows资源管理器和任何应用程序(例如命令提示符)从Windows资源管理器(或“运行”框、“开始”菜单等)打开时应该会看到新值。在
但是,如果您正在运行一个程序,如编辑器、python或某个非Microsoft程序启动器,请更改一个环境变量,然后启动命令行.exe从该程序(而不是Windows资源管理器)中,您可能会看到环境变量的旧值。原因是正在运行的程序忽略了来自Windows的通知,即环境已更改(一点也不异常),而且由于启动的进程继承了环境变量,所以子进程看不到这些更改。在
解决方法是确保从Windows资源管理器或“运行盒”启动应用程序。重新启动您的机器也可以工作(如果重新启动不能解决问题,则会发生其他事情)。在
相关问题 更多 >
编程相关推荐