VSCode python调试:使用模块属性时,“没有名为xx的模块”

Dev*_*dka 5 python debugging python-module visual-studio-code

我的Python项目文件夹结构如下

.python_practice
|--lib
    |--lib.py
    |--__init__.py
|--practice1
    |--my_module.py
    |--__init__.py
|--__init__.py
Run Code Online (Sandbox Code Playgroud)

我的启动配置是

{
    "name": "Python: Module",
    "type": "python",
    "request": "launch",
    "module": "practice1.my_module",
    "console": "integratedTerminal"
 },
Run Code Online (Sandbox Code Playgroud)

在my_module.py中

from lib.lib import util_func
Run Code Online (Sandbox Code Playgroud)

当我尝试使用VScode进行调试时,出现错误: "No module named practice1.my_module"

但是当我使用以下命令运行它时,它可以正常工作

python -m practice1.my_module
Run Code Online (Sandbox Code Playgroud)

如何调试代码,以便相对导入工作?

任何帮助将不胜感激,谢谢。

Bor*_*Est 13

您可以尝试以下操作:

{
    "name": "Python: A name example",
    "type": "python",
    "request": "launch",
    "program": "practice1/my_module.py",
    "env": {
        "PYTHONPATH": "${workspaceFolder}"
    },
}
Run Code Online (Sandbox Code Playgroud)
  • 使用program代替module几乎是一样的。
  • imports您需要像安装了该软件包一样解决该问题。因此您需要添加一个PYTHONPATH.


jmo*_*gro 5

我遇到了同样的问题。您可能安装了两个 Python 解释器,但只有一个具有您需要的模块。尝试通过从命令托盘 (Ctl+Shift+p) 运行然后运行​​python 来选择另一个 Python 版本:选择 Interpreter并选择 python 所在的位置。我有:

/usr/bin/python3
/usr/local/bin/python
Run Code Online (Sandbox Code Playgroud)


Bre*_*non 3

这是涉及调试子模块的已知错误。