我正在编写一个 Python 项目,该项目作为包发布到类似 pypi 的存储库(使用setuptools和twine)。我在我的代码中使用类型提示。
问题是,从不同的项目导入包并运行时mypy,出现以下错误:
error: Skipping analyzing 'XXX': found module but no type hints or library stubs
据我了解,我收到此错误是因为我的包不符合https://www.python.org/dev/peps/pep-0561/。
在网上搜索了一些之后,我没有找到一种非手动将所需文件添加到包中的方法。
我求助于编写自己的代码:
stubgen以创建存根文件。py.typed在每个目录中创建文件。dictinpackage_data字段中收集所有创建的setup.py文件。这段代码解决了这个问题并且mypy运行没有错误。但这对我来说感觉非常错误。是否有标准工具可以使包符合 PEP-561?我还缺少其他东西吗?