VSCode Python调试中文路径报FileNotFoundError,本质是Python子进程用GBK解码VSCode传来的UTF-8路径字节串,需在launch.json的env中配置"PYTHONIOENCODING":"utf-8"和"PYTHONUTF8":"1",并设console为integratedTerminal或externalTerminal。

VSCode Python 调试时中文路径报 FileNotFoundError
这不是文件真丢了,而是 Python 子进程用 GBK(CP936)去 decode VSCode 传来的 UTF-8 路径字符串,结果解出来一堆乱码,自然找不到文件。哪怕你确认文件明明存在、路径复制粘贴也正确,照样报错。
- 必须在
launch.json的env字段里加两项:"PYTHONIOENCODING": "utf-8"和"PYTHONUTF8": "1" -
console不能设为"none",得是"integratedTerminal"或"externalTerminal" - 如果用了虚拟环境,优先选
venv创建的,别用conda——部分 conda 环境会忽略PYTHONUTF8=1
tasks.json 中含空格或中文路径执行失败
报错像 The term 'FilesPythonpython.exe' is not recognized,本质是 JSON 解析 + PowerShell 二次分词把 C:Program FilesPythonpython.exe 拆成了 C:Program 和 FilesPythonpython.exe 两段。
-
command值必须是完整字符串,且外层双引号不可省略:"command": "C:\Program Files\Python\python.exe" - 反斜杠要双重转义(
\),不是单个 - 所有路径变量(如
${file})在args数组里必须单独成项,禁止拼进字符串:
✅"args": ["-m", "http.server", "8000"]
❌"args": ["-m http.server 8000"]
右下角弹出 “Path 包含双引号” 提示
VSCode 启动时扫描系统 PATH 环境变量,只要某条路径两端有英文双引号(比如 "C:ToolsPython"),就直接判定异常并禁用 Python 扩展——它不关心你是不是故意加的,一律拒载。
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
- Win+R →
cmd→ 输入path,复制全部输出到记事本 -
Ctrl+F搜",定位到带双引号的路径行 - 打开「环境变量」设置,在「系统变量」或「用户变量」里找到对应条目,删掉引号(只删引号,路径本身保留)
- 改完点确定,**必须重启 VSCode**,仅 reload window 不生效
Code Runner 运行含空格/中文的 .py 文件失败
点击右上角 ▶️ 按钮运行时,报错 g++: error: hello: No such file or directory 或直接卡住,是因为 Code Runner 默认模板没给文件名加引号,空格被当成分隔符。
- 打开 VSCode 设置 → 搜索
Code Runner Executor Map→ 编辑settings.json - 找到
"python"对应项,替换为:"python": "cd $dir && python "$fileName"" - PowerShell 下必须用双引号(单引号不展开
$dir),且$fileName必须包裹在"内 - 如果路径本身含中文,确保系统已关闭 Windows 的「Beta版:使用 Unicode UTF-8」选项(否则引号也救不了)
真正麻烦的不是中文或空格本身,而是它们在编码切换、命令行分词、JSON 解析三层叠加后产生的不可预测截断。关掉系统 UTF-8 Beta 选项 + 统一用双引号包裹路径 + 在 launch.json 里显式声明 Python 编码,这三步缺一不可。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










