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

27

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

它适用于 Python 2,因此问题是,我如何使其适用于 Python 3?

6个回答

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

对于以后的版本,只需:

Python: Select Interpreter

在命令面板中(Windows 上按 F1,macOS 上按 Ctrl + Shift + P),选择下拉列表中显示的 Python 解释器之一。就这样。您的 settings.json 文件将自动编辑为指向您选择的解释器。

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

注意:由于我无法评论已接受的答案,因此我复制了 我对类似问题的回答 的部分内容。


这应该是被接受的答案。绝对不需要为此下载任何扩展程序。 - Akaisteph7

28

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

我建议使用Don Jayamanne的Python扩展。安装后,您需要配置要使用它的解释器路径

用于智能感知、自动补全、语法检查、格式化等功能的 Python 版本。

相同的 Python 解释器用于智能感知、自动补全、语法检查、格式化等功能(除调试之外)。默认使用的标准解释器是当前路径中遇到的第一个 Python 解释器。如果要使用不同的版本,则可以通过以下两种方式进行配置:

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

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

用于调试的 Python 版本

有关调试配置设置的详细信息,请参见调试。只需在 launch.json 文件的配置设置中的 "python" 设置中提供指向 Python 可执行文件的完全限定路径,如下所示:

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

4
在较新的版本中,“debugOptions”已从配置选项中删除。 - nth-attempt

3
我们可以在文件settings.json中配置Python 3的调试。具体步骤如下:
菜单 FilePreferencesSettings (文件 ~/.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"
  },
  ...
]

2

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

对于Python默认值(现在是2.7)

"python.pythonPath": "python",

针对Python 3版本:

"python.pythonPath": "python3",

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

import sys
  print(sys.version)

设置文件?settings.json 文件? - Peter Mortensen

1

对于使用Continuum Analytics的Anaconda Python发行版的用户,我有一条额外的提示:您可能会发现我的经验很有用。

我正在使用Don Jayamanne的Python扩展程序并运行“选择工作区解释器”命令,但仍然发现我得到的Python版本的linting建议是错误的。

对我有效的修复方法是安装Anaconda的Pylint包:

conda install -c anaconda pylint

0

要在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? - Peter Mortensen
关于“启动配置”:是哪个文件的哪一部分?或者,在Visual Studio Code中如何导航到它? - Peter Mortensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接