MyPy:模块“src.some..nested.folder.python_file”没有属性“attribute_thats_definetely_there”[attr-defined]

问题描述 投票:0回答:1

我的文件夹结构如下:

root
├── src
│   ├── some
│   │   ├── nested
│   │   │   ├── folder
│   │   │   |   ├── __init__.py
│   │   │   |   ├── python_file.py
│   │   │   ├── __init__.py
├── tests
│   ├── folder
│   │   ├── test_python_file.py

python_file.py
包含:

attribute_thats_definetely_there= ""

test_python_file.py
包含:

from src.some.nested.folder.schemas.python_file import attribute_thats_definetely_there

由于某种原因 mypy 抛出错误:

Module "src.some.nested.folder.schemas.python_file" has no attribute "attribute_thats_definetely_there"  [attr-defined]

即使代码完美执行。

我一直在尝试找到一些有效的设置,我的

pyproject.toml
文件如下所示:

[tool.mypy]
python_version = "3.10"
namespace_packages = true
allow_redefinition = true
show_error_codes = true
disallow_untyped_defs = true
ignore_missing_imports = true

我尝试查看答案和不同可能的参数配置,但似乎没有任何效果。知道如何解决这个问题吗?

python mypy
1个回答
0
投票

我遇到了类似的问题,因为我导入的文件顶部有

# type: ignore

请注意,模块顶部的 # 类型:忽略注释(在任何语句之前,包括导入或文档字符串)具有忽略模块全部内容的效果。这种行为可能会令人惊讶,并导致“模块……没有属性……[attr-defined]”错误。

来源

© www.soinside.com 2019 - 2024. All rights reserved.