我有一个结构如下的项目:
.
└── myapp
├── app.py
├── models
│ ├── hello.py
│ └── world.py
└── requirements.txt
我有两个模型,hello
和 world
。这两个模型都是从 app.py
中使用的,我在其中像这样导入它们:
from models.hello import Hello
from models.world import World
但是world
也需要用到hello
。我在 world.py
中试过这个:
from models.hello import Hello
当我运行应用程序时,上面的技术在技术上是有效的,但是 VSCode 的 Python 扩展给了我以下错误:
E0401:Unable to import 'models.hello'.
从同一目录导入子模块的正确方法是什么?如何在 VSCode 中避免此错误?
最佳答案
您收到的错误是由名为 pylint
的 python linter 报告的错误。所以这个问题并不是真正特定于 vscode 扩展。
有两种解决方法:
请尝试使用 vape
PYTHONPATH=./myapp
在您的项目目录中添加一个.env
文件,这将告诉 pylint 在哪里可以找到您的模块或者直接在vscode中打开文件夹
myapp
,而不是在vscode中打开父目录。
关于python - 适当的相对进口 : "Unable to import module",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48973742/