gpt4 book ai didi

python - Visual Studio Code 告诉我它不能导入 python 模块,但它运行代码

转载 作者:行者123 更新时间:2023-12-04 08:22:13 45 4
gpt4 key购买 nike

我在很多文件夹和子文件夹中运行脚本,结构有点困惑,但基本上是这样的:

src/
controllers/
__init__.py
a.py
b.py
models/
__init__.py
c.py
__init__.py
main.py

^^^ 应该是红色错误下划线,main.py 看起来像这样:

from controllers import a
^^^^
import models.c
^^^^^^

a.py:

import models.c
^^^^^^

我尝试了从导入和常规导入这两种方法,因为可能只有一个有问题,但没有,在 VSC 中,在我这样导入的每个地方,它都告诉我无法导入 [directory](它仍然从 VSC 和终端通过 python3 main.py)

运行

我尝试过的事情

  • 重启 VSC
  • 重启我的电脑
  • 更改 __init_.py 中的内容(但没有系统性,只是玩玩)

这是一个 visual studio 代码问题,导入有问题吗?我应该把东西放到 __init__.py 中吗?我可以抑制这个问题或以其他方式解决它吗?

最佳答案

在导入其他文件夹中的模块时,VSCode 默认从当前运行文件的父文件夹中搜索文件。例如:“a.py”中的“import models.c”,“a.py”的父文件夹“controllers/” .py”没有“models”,所以终端显示警告。

当我删除“main.py”的同级文件“__init__.py”时,终端没有显示错误和警告:

enter image description here

对于“a.py”,我在“launch.json”中添加了如下设置,将项目文件夹路径添加到系统路径中,供VSCode查找:

"env": {
"PYTHONPATH": "${workspaceFolder}"
}

调试a.py:

enter image description here

更新:

在代码可以运行的前提下,我使用如下设置关闭Pylint显示的“import-error”:

"python.linting.pylintArgs": ["--disable=E0401"],

enter image description here

关于python - Visual Studio Code 告诉我它不能导入 python 模块,但它运行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65444018/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com