按F5使用VS代码调试Python模块

按F5使用VS代码调试Python模块,python,visual-studio-code,vscode-settings,Python,Visual Studio Code,Vscode Settings,我的项目结构如下: Project Folder --setup.py ----Module Folder ------ __init__.py ------ __main__.py 我的\uuuuu main\uuuuuu.py文件包含我的应用程序的入口点,安装文件的配置如下: from setuptools import setup setup(name='my_project', version='0.1.0', packages=['my_project'],

我的项目结构如下:

Project Folder
--setup.py
----Module Folder
------ __init__.py
------ __main__.py
我的
\uuuuu main\uuuuuu.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
我尝试过使用VS代码进行调试,方法是导航到我的\uuu main\uuuuuuuu.py文件并按F5运行,但这不起作用并引发异常。如何配置Visual Studio代码以在调试模式下运行此模块?
另外,我如何确保程序也运行模块,而不是我按F5时查看的文件?

经过一些研究,我找到了解决方案:

  • 导航到debug菜单的右上部分,然后单击cog,为该项目创建一个
    launch.json
    文件。这将用于配置VS代码
  • 如果尚未创建
    launch.json
    文件,请将以下内容粘贴到其中:
  • 我在这里找到了这个代码:

  • 但是,仅仅使用这个答案对我来说不起作用,我得到了一个错误:
    没有名为my_project的模块
    ,但我找到了这个答案: 最后一条注释告诉您将以下内容添加到配置中

    "env": {"PYTHONPATH":"${workspaceRoot}"},
    

  • 这修复了错误,现在您可以按F5键,您的模块将被调试。

    接受的答案对我不起作用(VSCode 1.49.0),我收到一条错误消息,内容为:
    无效消息:“程序”、“模块”和“代码”相互排斥

    删除
    “程序”:“${file}”,
    行解决了问题。我认为这是有意义的,因为定义模块(带有隐含入口点)和文件是多余的

    我的
    launch.json
    如下所示:

    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'
              ]})
    
    {
    “版本”:“0.2.0”,
    “配置”:[
    {
    “名称”:“Python模块”,
    “类型”:“python”,
    “请求”:“启动”,
    “控制台”:“集成终端”,
    “模块”:“我的项目”,
    }
    ]
    }