notepad++运行python脚本必须满足三个前提:python已安装且能被系统识别、nppexec插件已安装启用、notepad++已重启;常见错误包括控制台一闪而过、'python'未识别、中文乱码,均源于这三步未落实。

Notepad++ 运行 Python 脚本必须满足的三个前提
缺一不可:Python 已安装且 python 命令能被系统识别;NppExec 插件已安装并启用;Notepad++ 本身已重启(不是仅 CMD 或终端重启)。
常见错误现象:按 F5 后控制台一闪而过、报错 'python' is not recognized、输出乱码成 \xe4\xbd\xa0\xe5\xa5\xbd,基本都卡在这三步中的某一个。
- 检查 Python 是否就绪:在 CMD 中执行
python --version和where python,确认返回有效路径 - 若未加 PATH:手动把 Python 安装目录(如
C:\Users\Name\AppData\Local\Programs\Python\Python311\)和Scripts子目录都加进系统环境变量PATH - 改完 PATH 后——务必关闭所有 Notepad++ 实例,再重新打开,否则插件读不到新环境
用 NppExec 配置一键运行(推荐 cmd /c + chcp + -u 组合)
只写 python "$(FULL_CURRENT_PATH)" 是最常见也最不稳定的写法:中文输出乱码、input() 卡死、缓冲导致 print 不立即显示。
真正可靠的命令是:
cmd /c chcp 65001 >nul && python -u "$(FULL_CURRENT_PATH)"
说明:
-
chcp 65001强制切换当前 CMD 页为 UTF-8,解决中文print()乱码 -
-u参数禁用 Python 输出缓冲,确保print()立即刷到控制台,避免调试时“没反应”假象 -
&&保证只有编码切换成功后才执行 Python,比&更健壮 - 不用
pause或cmd /k——它们会让窗口常驻,干扰连续调试
如何绑定到 F5 快捷键并支持传参
Run → Run(F5)里填的命令,不会自动保存,跳过 Save 就等于白配。
操作步骤:
- 按 F5 → 在输入框粘贴:
python -u "$(FULL_CURRENT_PATH)" $(CMDLINE) - 点
Save...→ 命名为Python (with args) - 勾选
Use Ctrl+Shift+F5 as default shortcut(或手动在Settings → Shortcut Mapper → Run Commands中指定 F5)
之后运行带参数脚本(如 main.py --debug test.txt)时,按 F5 会弹出输入框,直接填 --debug test.txt 即可。注意:$(CMDLINE) 不会自动加引号,含空格参数需手动补上双引号。
遇到 input() 卡住、控制台无提示怎么办
这不是配置错了,而是 NppExec 的输出面板本质是只读管道,不提供交互式 stdin 接口。
此时有且仅有两个实用解法:
- 临时改用
python -i -u "$(FULL_CURRENT_PATH)":加-i让脚本执行完进入交互模式,适合调试末尾逻辑 - 放弃 NppExec,改用
Python Script插件(需另行安装)或直接切到终端:cd "$(CURRENT_DIRECTORY)" && python -u "$(FILE_NAME)" - 别依赖底部状态栏的“红色错误字样”判断成败——语法错误可能根本不触发输出面板刷新,要盯紧控制台是否出现 traceback
最易被忽略的一点:NppExec 脚本里写的 if$(EXT_PART) == "py" 这类条件判断,括号前后必须有空格,写成 if$(EXT_PART)=="py" 会静默失败,且无任何报错提示。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











