如何在 Visual Studio Code 中调试 Python 3 代码?

Posted

技术标签:

【中文标题】如何在 Visual Studio Code 中调试 Python 3 代码?【英文标题】:How can I debug Python 3 code in Visual Studio Code? 【发布时间】:2016-08-19 23:09:44 【问题描述】:

我想在 Visual Studio Code 中调试一个用 Python 3 编写的项目,但我似乎找不到在 launch.json 文件中指定解释器或 Python 版本的任何方法。

它适用于 Python 2,所以问题是,如何让它适用于 Python 3?

【问题讨论】:

【参考方案1】:

要在 Visual Studio Code 中调试 Python 项目,请使用 启动配置,如下所示:

        "name": "Python: Current File",
        "type": "python",
        "request": "launch",
        "program": "$cwd/filename.py",
        "args" : [
            "--arg1", "arg1-value",
            "--arg2", "arg2-value",
            "--arg3", "arg3-value"
        ],
        "console": "integratedTerminal"

【讨论】:

什么平台,包括。版本,这个测试过吗? Linux? 重新“启动配置”:什么文件的哪一部分?和/或,如何在 Visual Studio Code 中导航到它?【参考方案2】:

我们可以在 settings.json 文件中配置 Python 3 中的调试:

菜单文件首选项设置(文件~/.config/Code/User/settings.json)(用户设置)


  ...
  "python.pythonPath": "python3",

另外,验证 launch.json 文件是否已经具有以下配置:

"configurations": [
  
    "name": "Python: Current File (Integrated Terminal)",
    "type": "python",
    "request": "launch",
    "program": "$file",
    "console": "integratedTerminal"
  ,
  ...
]

【讨论】:

【参考方案3】:

设置文件中有设置触发器:

对于 Python 默认(目前为 2.7)

"python.pythonPath": "python",

对于 Python 3:

"python.pythonPath": "python3",

使用以下命令检查 Python 版本:

import sys
  print(sys.version)

【讨论】:

设置文件?文件settings.json?【参考方案4】:

对于那些使用 Anaconda 连续分析的 Python 发行版的人的额外说明:您可能会发现我的经验很有用。

我正在使用Don Jayamanne's Python extension 并运行“选择工作区解释器”命令,但仍然发现我收到了针对错误版本的 Python 的 linting 建议。

对我有用的修复是为 Anaconda 安装 Pylint 软件包:

conda install -c anaconda pylint

【讨论】:

【参考方案5】:

截至 2016 年 9 月(根据扩展的 GitHub 存储库文档),您只需在 Visual Studio Code 中执行一个命令,即可让您从自动生成的已知解释器列表中选择解释器(包括项目的虚拟环境)。

执行:

Python: Select Workspace Interpreter

对于以后的版本,只需:

Python: Select Interpreter

在命令面板中(F1 for Windows,Ctrl + Shift + P for macOS)。

然后选择下拉列表中显示的 Python 解释器之一。就是这样。您的 settings.json 文件将被自动编辑以指向您选择的解释器。

来源:Don Jayamanne's extension's documentation at GitHub

注意:由于我无法对已接受的答案发表评论,因此我复制了一些 my answer to a similar question。

【讨论】:

【参考方案6】:

Python 3 调试也很有效。这有点令人困惑,因为有两个不同的地方可以指定路径:settings.jsonlaunch.json

我建议使用Don Jayamanne's Python Extension。安装后,你必须configure the path到你想使用它的解释器。

用于 Intellisense、自动完成、linting、格式化等的 Python 版本。

相同的 Python 解释器用于智能感知、自动完成、 linting、格式化等(除调试之外的所有内容)。这 使用的标准解释器是第一个 Python 解释器 在当前路径中遇到。如果要使用不同的版本, 这可以通过以下两种方式之一进行配置:

在用户设置文件中配置python解释器的路径 (settings.json) 如下。确保指定完全限定名称 的python可执行文件。 “python.python路径”: "c:/python27/python.exe"

配置 Python 解释器的路径 在工作区设置文件 (settings.json) 中,如下所示。确保 指定 Python 可执行文件的完全限定名称。 "python.pythonPath": "c:/python27/python.exe" 用于的 Python 版本 调试

可以在此处找到有关调试配置设置的详细信息 调试。只需提供 python 的完全限定路径 在配置设置中的“python”设置中可执行 在launch.json文件中如下:


    "name": "Python",
    "type": "python",
    "request": "launch",
    "stopOnEntry": true,
    "program": "$file",
    "pythonPath": "c:/python27/python.exe",
    "debugOptions": [
        "WaitOnAbnormalExit",
        "WaitOnNormalExit",
        "RedirectOutput"
    ]

【讨论】:

"debugOptions" 已从较新版本的配置选项中删除

以上是关于如何在 Visual Studio Code 中调试 Python 3 代码?的主要内容,如果未能解决你的问题,请参考以下文章

visual studio code如何运行c

Deepin系统中如何安装Visual Studio Code

如何在 Linux 中安装 Visual Studio Code

如何在 Visual Studio Code 中自动获取参数名称?

如何在 Visual Studio Code 中注释多行?

如何在 Visual Studio Code 中隐藏缩进指南?