notepad++不管理python版本,仅调用系统命令;确认实际调用版本需在f5中运行cmd /k where python和python --version;path须同时添加python主目录及scripts子目录,且路径不能含中文或空格;改后必须重启notepad++。

Notepad++ 本身不管理 Python 版本,它只是调用系统命令行执行 python。所以“无法识别新版本”本质是 Windows 没把新 Python 安装路径加进 PATH,或者旧路径仍排在前面导致优先调用老版本。
怎么确认当前被调用的到底是哪个 Python
别猜,直接查:
- 在 Notepad++ 中按
F5→ 输入cmd /k where python→ 点击运行,会列出所有可执行的python.exe路径,顺序就是系统实际查找顺序 - 再运行
cmd /k python --version,看输出的版本号是否是你刚装的那个 - 如果
where python返回多条,说明存在多版本冲突;如果一条都没有,说明PATH根本没配对
手动更新 PATH 时必须加哪两个路径
只加 Python 主目录是不够的——pip、pyinstaller 这类工具都在 Scripts 子目录里,Notepad++ 调用 python -m pip install 会失败:
-
C:\Users\用户名\AppData\Local\Programs\Python\Python312\(主目录,含python.exe) -
C:\Users\用户名\AppData\Local\Programs\Python\Python312\Scripts\(含pip.exe、activate.bat等) - 路径中不能有中文或空格,否则部分插件(如 NppExec)可能解析失败
- 改完后必须重启 Notepad++,不是 CMD,也不是电脑——它启动时就缓存了环境变量
用 conda 环境时怎么让 Notepad++ 正确调用
conda 创建的环境默认不注册到系统 PATH,直接写 python 会 fallback 到 base 或系统 Python:
- 不要用
python,改用绝对路径:例如D:\anaconda3\envs\py310\python.exe "$(FULL_CURRENT_PATH)" - 或者先激活再运行:
cmd /k "D:\anaconda3\Scripts\activate.bat py310 && python "$(FULL_CURRENT_PATH)" & PAUSE - 注意:
conda init对 Notepad++ 无效,它只影响终端 shell,NppExec 或 Run 命令不会加载 conda 的 shell hook - 如果脚本依赖
input()或需要交互,上述cmd /k方式比 NppExec 更可靠
为什么改了 PATH 还是调用错版本
常见但容易忽略的点:
- Windows 应用商店的
python.exe别名干扰:打开「设置 → 应用 → 应用和功能 → 管理应用执行别名」,关掉python.exe和python3.exe - 旧版 Python 安装残留的
py.exe启动器可能覆盖行为,运行py -0查看已注册版本列表 - 某些安全软件或企业策略会重定向
python命令,此时只能用绝对路径硬编码 - Notepad++ 的 Run 命令里如果用了
python而不是python.exe,在某些系统上可能触发 Windows App Execution Alias 机制,绕过 PATH
最稳的方式永远是:用完整路径 + $(FULL_CURRENT_PATH),不依赖任何环境变量或别名。复杂点在于每次换环境都要手动改一次命令,但换来的是确定性。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











