首页 > 解决方案 > 按 F5 使用 VS Code 调试 Python 模块

问题描述

我的项目结构如下:

Project Folder
--setup.py
----Module Folder
------ __init__.py
------ __main__.py

我的__main__.py文件包含我的应用程序的入口点,安装文件的配置如下:

from setuptools import setup

setup(name='my_project',
      version='0.1.0',
      packages=['my_project'],
      entry_points={
          'console_scripts': [
              'my_project= my_project.__main__:main'
          ]})

这意味着我可以在没有附加调试器的情况下运行我的代码:

python -m my_project

我已经尝试通过导航到我的__main__.py文件并按 F5 运行来使用 VS Code 进行调试,但这不起作用并引发异常。如何配置 Visual Studio Code 以在调试模式下运行此模块?另外,当我按 F5 时,如何确保程序也运行模块而不是我正在查看的文件?

标签: pythonvisual-studio-codevscode-settings

解决方案


接受的答案对我不起作用(VSCode 1.49.0),我收到一条错误消息:Invalid message: "program", "module", and "code" are mutually exclusive.

删除"program": "${file}",线解决了这个问题。我认为这是有道理的,因为同时定义一个模块(带有隐含的入口点)和一个文件是多余的。

我的launch.json样子是这样的:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Module",
            "type": "python",
            "request": "launch",
            "console": "integratedTerminal",
            "module": "my_project",
        }
    ]
}

推荐阅读