如何解决在vscode中调试时摆脱python错误“尝试相对导入而没有已知的父包”
我创建了 workspace_folder
,克隆了一个 github repo
(文件夹名称),其中包含 repo_module
文件夹,而该文件夹又包含 train.py
和 algo.py
:>
workspace_folder
|
+-- repo
|
+-- train.py
|
+-- algo.py
repo 的自述文件要求运行:
python -m repo_module.train
我可以从 repo
文件夹中运行:
workspace_folder/repo$ python -m repo_module.train
但我想在 vscode 中调试 train.py
。我打开 train.py
并使用 Python: Current File
配置开始调试。但它开始给我以下错误:
Exception has occurred: ImportError
attempted relative import with no kNown parent package
对于 from . import algo
中的第 train.py
行。
答案 here 表明我们需要对代码进行一些更改。我在想是否可以对 vscode 调试 launch.json
进行任何更改并使其工作。我试图在 "cwd": "${workspaceFolder}/repo"
中设置 launch.json
但它给出了同样的错误。所以,现在我已经用所有文件中的空字符串替换了所有 from .
(点 .
之后的空格)(将所有 from . import abc
转换为 import abc
)和 from .
(.
后没有空格)到所有文件中的 from
(将所有 from .abc
转换为 from abc
)并且能够调试它。但是我能够猜测是否可以在 vscode launch.json
中修改代码和配置。有没有可能。
(另请注意,我的更改似乎有效,因为所有 py 文件都“直接”在 repo
文件夹中,而 repo
文件夹中没有子文件夹。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。