python - 适当的相对进口 : "Unable to import module"

标签 python python-3.x visual-studio-code

我有一个结构如下的项目:

.
└── myapp
    ├── app.py
    ├── models
    │   ├── hello.py
    │   └── world.py
    └── requirements.txt

我有两个模型,helloworld。这两个模型都是从 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 扩展。

有两种解决方法:

  1. 请尝试使用 vape PYTHONPATH=./myapp 在您的项目目录中添加一个 .env 文件,这将告诉 pylint 在哪里可以找到您的模块

  2. 或者直接在vscode中打开文件夹myapp,而不是在vscode中打开父目录。

关于python - 适当的相对进口 : "Unable to import module",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48973742/

相关文章:

python - Flask-wtforms中不同的Form对象是如何通信的?

python - SQLAlchemy 无法连接到 mssql 数据库

python-3.x - 使用 Gensim 实现 Word 到矢量模型

python - Pandas 将索引值与相应的索引值进行比较以找到百分比匹配

visual-studio-code - 以编程方式在 Visual Studio Code 中解码二进制文件

python - 避免在 for 循环中更新嵌套列表

python - 与 Pandas 中的大型 DataFrame 不同的删除行/获取子集的最快方法

python-3.x - 在 python 语法错误 : EOL while scanning string literal

visual-studio-code - 我的语法高亮语法注入(inject)有什么问题?

node.js - 为什么 VSCode 调试器总是将 Node 导入显示为未定义?