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

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

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

【问题讨论】:

    标签: python python-3.x debugging visual-studio-code


    【解决方案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" 已从较新版本的配置选项中删除
          猜你喜欢
          • 1970-01-01
          • 2018-01-20
          • 1970-01-01
          • 1970-01-01
          • 2019-08-10
          • 1970-01-01
          • 2021-03-05
          • 2022-10-16
          • 1970-01-01
          相关资源
          最近更新 更多