Cursor 配置 python debug 模式开发
Python 开发

Cursor 配置 python debug 模式开发

JACIN5 分钟阅读
AI 摘要

从 PyCharm 迁移到 Cursor 调试 Python 项目时,最容易遇到的问题是模块导入路径不再由 IDE 自动补齐,导致运行当前文件时出现 ModuleNotFoundError。文章给出的常规做法是在项目下创建 .vscode/launch.json,配置 Python launch 任务,并通过 env 中的 PYTHONPATH: ${workspaceFolder} 手动把工作区加入模块搜索路径,相当于复刻 PyCharm 的 Mark Directory as Sources Root。它也解释了 Python 默认只会搜索标准库、site-packages 和当前脚本目录,因此在 VS Code/Cursor 这类编辑器中需要显式声明项目根路径。针对 conda 环境,文章进一步给出 settings.json 中固定 python.defaultInterpreterPath,以及 launch.json 中指定 python 解释器路径、保留 PYTHONPATH、设置 PYTHONUNBUFFERED=1 的配置方式,以便调试控制台正常输出日志。需要注意的是,Python Environment Manager 等环境管理插件可能在选择环境时自动重写 settings.json,与 launch.json 中的解释器配置冲突,并引发 permission denied,因此作者建议删除相关插件。整体适合正在从 PyCharm 转向 Cursor、希望降低内存占用但仍保留 Python 单文件调试和 conda 环境调试能力的开发者参考。

之前一直用 pycharm 进行 debug,但奈何实在是内存大户,所以直接转去 cursor debug了。之前一直是 cursor code + pycharm debug。。

常规python 路径#

创建: .vscode/launch.json

text
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python-debug-current-file",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "internalConsole",
            // "console": "integratedTerminal",
            "justMyCode": true,
            "env": {
                "PYTHONPATH": "${workspaceFolder}"
            }
        }
    ]
}

即可 debug。

简单来说:PYTHONPATH 就是 PyCharm 里 "Mark Directory as Sources Root" 的“手动版”。 只会去这几个地方找:

  1. Python 的安装目录(标准库)。
  2. site-packages 目录(你用 pip 安装的第三方库)。
  3. 当前运行脚本所在的文件夹
比较维度PyCharm (IDE)VS Code / Cursor (编辑器)
操作方式右键文件夹 -> Mark Directory as Sources Root.envlaunch.json 里配置 PYTHONPATH
背后的原理PyCharm 在你点“运行”的一瞬间,偷偷把被标记的文件夹路径塞进了环境变量 PYTHONPATH 里。你需要自己显式地告诉编辑器,要把哪个文件夹加进环境变量。
效果让你能直接 import 那个文件夹里的模块,而不用写超长的相对路径。一模一样

模拟 PyCharm 的“Sources Root”功能 。这是解决 ModuleNotFoundError 最标准、最正规的方法。

conda环境调试#

删除: Python Environment Manager 这个插件与Python Environment 插件,不然 conda 环境会和 launch.json 造成冲突,导致pession denied! 删除这个插件,否则在 cursor 选择环境的时候会他会自动把 settings.json 进行重写,导致 debug 的时候出现 denied 的操作

image|690x309

settings.json:

text
{
    "python.defaultInterpreterPath": "/Users/edy/miniconda3/envs/ai_x86/bin/python"

}

launch.json:

text
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "极速调试 (Debug Console)",
            "type": "python",
            "request": "launch",
            "program": "${file}", // 或者指定具体文件
            
            // 👇 1. 核心设置:这就把日志全转到“调试控制台”去了,不再用终端
            // "console": "internalConsole",
            
            "justMyCode": true,
            
            // 👇 2. 继续使用替身,防止 Cursor 犯傻去跑文件夹
            // (如果你没做软链接,就写 /Users/edy/miniconda3/envs/ai_x86/bin/python)
            "python": "/Users/edy/miniconda3/envs/ai_x86/bin/python",
            
            "env": {
                "PYTHONPATH": "${workspaceFolder}",
                // 👇 3. 极其重要:没有这行,Debug Console 的日志会卡住不显示!
                "PYTHONUNBUFFERED": "1"
            }
        }
    ]
}

评论

还没有评论,来发第一个吧