根本原因是windows未将python路径添加到path环境变量,需勾选安装时的“add python to path”或手动添加python及scripts目录至path,并重启notepad++;中文乱码需在nppexec中用cmd /c chcp 65001 &>nul && python "$(full_current_path)"或python -u解决。

Notepad++ 里点“运行”却提示 python 不是内部或外部命令
根本原因是系统找不到 python 命令——不是 Notepad++ 配置错了,而是 Windows 没把 Python 安装路径加进 PATH 环境变量。
检查方法:在 CMD 里直接敲 python --version,如果报同样错误,就先解决这个。
- 重装 Python 时务必勾选
Add Python to PATH(Windows 安装器最下面的复选框) - 如果已安装但没勾,手动把 Python 安装目录(比如
C:\Users\Name\AppData\Local\Programs\Python\Python311\)和Scripts子目录(C:\Users\Name\AppData\Local\Programs\Python\Python311\Scripts\)加到系统PATH - 改完环境变量后,**必须重启 Notepad++**(只重启 CMD 不够,Notepad++ 启动时就已读取了环境变量)
用 NppExec 插件运行 Python 脚本时中文乱码
常见现象:脚本里 print("你好") 输出变成 \xe4\xbd\xa0\xe5\xa5\xbd 或直接报错 UnicodeEncodeError: 'gbk' codec can't encode character。
这不是编码声明问题(# -*- coding: utf-8 -*- 没用),而是 Windows 控制台默认用 GBK,而 Python 3.7+ 在非 UTF-8 终端下会主动降级编码。
- 在
NppExec的执行指令里,不要只写python "$(FULL_CURRENT_PATH)" - 改成:
cmd /c chcp 65001 >nul && python "$(FULL_CURRENT_PATH)"(临时切 Unicode 页) - 更稳妥的做法:用
python -u "$(FULL_CURRENT_PATH)"强制无缓冲输出,再配合chcp 65001 - 注意:如果脚本本身用了
input(),仍可能卡住——这时建议换用Python Script插件或直接终端运行
想用 F5 快捷键运行,但 Run → Run... 里看不到 Python 选项
Notepad++ 默认不带 Python 运行项,需要手动注册一个快捷命令,本质是往配置里写一条可执行语句。
操作路径:Run → Run... → 输入命令 → Save...,别跳过 Save... 这步,否则关掉就没了。
- 命令栏填:
python -u "$(FULL_CURRENT_PATH)"(-u关键,避免输出缓存导致看不到 print) - 保存时起个名字,比如
Python (no buffer),它会出现在Run菜单顶部,也可设为 F5 默认项 - 如果想支持带参数运行(比如
python main.py arg1 arg2),命令得写成:python -u "$(FULL_CURRENT_PATH)" $(CMDLINE),然后运行时在弹窗里手动输参数 - 别用
$(CURRENT_DIRECTORY)拼路径——相对导入、读文件容易出错,$(FULL_CURRENT_PATH)最稳
为什么不用 Python Script 插件替代 NppExec
Python Script 插件本质是嵌入 CPython 解释器到 Notepad++ 进程里,和你在 CMD 里运行的不是同一个 Python 环境。
后果很实际:你 pip install requests 装的包,Python Script 插件用不了;反之,它自带的 API(比如 notepad.runPluginCommand)在 CMD 的 Python 里也不存在。
- 日常调试、跑脚本,优先用
NppExec+ 系统 Python,环境一致,行为可预期 -
Python Script只适合写 Notepad++ 自动化任务(比如批量修改文档、操作编辑器 UI),不是通用 Python 运行器 - 两者共存没问题,但别混淆用途——看到插件名带 “Script”,重点就在 “编辑器脚本”,不在 “你的脚本”
Notepad++ 终归是个文本编辑器,它调 Python 的方式只是“启动一个外部进程”。所有问题根源,基本都落在路径、编码、环境隔离这三件事上。尤其注意 PATH 和 chcp,这两个点卡住的人最多。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










