Sim*_*ini 8 python types python-3.x mypy python-poetry
我正在使用 维护两个存储库poetry,我们称它们repo_main为 和repo_dependency。它们都使用python 3.8并具有mypy( v0.942) 类型提示,并且顾名思义,repo_main依赖于repo_dependency。现在,当我mypy在 上运行时repo_main,类型提示repo_dependency实际上被忽略并被有效地视为Anys。然后我尝试将py.typed文件添加到每个子包中,repo_dependency但没有结果,类型仍然被忽略。的结构repo_dependency看起来有点像这样:
repo_dependency/
- repo_dependency/
- package1/
- __init__.py
- py.typed
- stuff.py
- package2/
- __init__.py
- py.typed
- stuff.py
- __init__.py
- py.typed
- other_non_distributed_things/
Run Code Online (Sandbox Code Playgroud)
知道我可能做错了什么吗?
对我来说,文档中根本不清楚这一点。添加py.typed文件不会让 mypy 查看包源以获取类型信息。Mypy 只会在存根文件中查找此类信息(对于外部包)。此外,将.pyi存根文件放在包源旁边不会说服 mypy 查看这些存根文件。
因此,需要添加文件和存根文件py.typed。.pyi
对我来说,这似乎非常多余,这就是为什么它\xe2\x80\x99 如此不直观,以至于我们需要两者。
\n| 归档时间: |
|
| 查看次数: |
790 次 |
| 最近记录: |