Python 使用 Poetry 创建的项目:如何在 Visual Studio 代码中调试它?

Python project created using Poetry: how do I debug it in Visual Studio Code?

我有一个Python项目,是我根据基础诗歌instructions创建的。

项目文件夹是这样的:

my-project
+----my_project
|    +-- my_project.py
|    +-- File1.py
|    +-- File2.py
|
+----pyproject.toml

我如何将内容从一个文件导入到另一个文件的示例:在 my_project.py 我有代码

from . import File1, File2

如果我想从 VSCode 调试它,如果我在 my_project.py 中尝试 F5,我得到错误:

Exception has occurred: ImportError
attempted relative import with no known parent package

但是,如果我不像上面那样表达导入,我就不能运行使用poetry命令。

pyproject.toml 文件中,我有这个:

[tool.poetry.scripts]
my-project = "my_project.my_project:run"

runmy_project.py 文件中的入口点方法。

从命令提示符 运行 项目 ,我转到项目文件夹(包文件夹所在的位置)并键入 poetry run my-project

同样,到目前为止,一切都根据 the Poetry documentation

问题我如何在VSCode中调试这个项目?

我知道我需要创建一个 launch.json 文件,但我不知道配置应该是什么样子...

谢谢。

对于Visual Studio代码,你可以试试这个:

  • 在子目录my_project中添加一个__init__.py文件
  • .vscode目录下,添加一个lauch.json文件,内容如下:
{
    "version": "0.1.0",
    "configurations": [
        {
            "name": "my-project",
            "type": "python",
            "request": "launch",
            "cwd": "${workspaceFolder}",
            "module": "my_project",
            "args": []
        }
    ]
}

这里,cwd指向你的工作区文件夹,应该是my-project的父目录。 然后,您应该能够 运行 成功 Visual Studio 代码的 Run and Debug 模块。

至于诗歌,试试这样修改你的pyproject.toml(好像有错字,连字符和下划线):

[tool.poetry.scripts]
my-project = "my-project.my_project:run"

并确保在 运行 poetry run my-project.

时将 my-project 的父目录设置为当前工作目录

有关其他指导,请参阅