小编Tsa*_*iss的帖子

是否有使包符合 PEP-561 的最佳实践?

我正在编写一个 Python 项目,该项目作为包发布到类似 pypi 的存储库(使用setuptoolstwine)。我在我的代码中使用类型提示。

问题是,从不同的项目导入包并运行时mypy,出现以下错误: error: Skipping analyzing 'XXX': found module but no type hints or library stubs

据我了解,我收到此错误是因为我的包不符合https://www.python.org/dev/peps/pep-0561/

在网上搜索了一些之后,我没有找到一种非手动将所需文件添加到包中的方法。

我求助于编写自己的代码:

  1. 运行stubgen以创建存根文件。
  2. py.typed在每个目录中创建文件。
  3. 在文件的dictinpackage_data字段中收集所有创建的setup.py文件。

这段代码解决了这个问题并且mypy运行没有错误。但这对我来说感觉非常错误。是否有标准工具可以使包符合 PEP-561?我还缺少其他东西吗?

python setuptools mypy

15
推荐指数
2
解决办法
2720
查看次数

标签 统计

mypy ×1

python ×1

setuptools ×1