删除PATH中Python路径后旧命令提示符仍可执行Python命令的原因问询
环境变量修改后新旧CMD窗口表现差异的成因
你的初步猜测是正确的,该现象由Windows进程的环境变量运行机制决定:
- 每个Windows进程启动时,都会从父进程处继承一份独立的环境变量副本,进程运行全程默认会使用这份本地副本,不会主动同步系统层面的环境变量更新。
- 命令提示符(
cmd.exe)的父进程通常为Windows资源管理器(explorer.exe),你打开CMD窗口时,系统会将当前生效的完整PATH环境变量复制到该CMD进程的本地存储中,后续该窗口内执行的所有命令都会读取这份本地缓存的PATH值查找可执行文件。 - 你删除PATH中Python安装路径的操作,修改的是系统全局存储的环境变量配置,只会作用于修改完成后新启动的进程:新打开的CMD窗口继承到的是删除Python路径后的新PATH,自然无法识别python命令;而修改前已启动的CMD窗口,使用的还是自己本地存储的旧PATH副本,其中仍包含Python的安装路径,所以可以正常调用python命令。
可选操作:如果不想重启已打开的CMD窗口就应用新的PATH配置,可手动执行命令更新本地PATH值,恢复Python路径可执行:
set PATH=C:\Users\USER\AppData\Local\Programs\Python\Python310;%PATH%
内容的提问来源于stack exchange,提问作者Mukesh Mahadev
相关产品推荐
相关产品推荐

