为了账号安全,请及时绑定邮箱和手机立即绑定

如何为另一个包打包类型存根?

如何为另一个包打包类型存根?

POPMUISE 2023-10-06 19:12:34
Python 包 Flask-HTTPAuth 有并且可能不会有类型注释(源代码)。我想创建它们并将它们作为 mypy 上的包提供,而不需要分叉该项目。我创建了一个flask-httpauth-stubs包。我需要做什么才能告诉 mypy 该包提供 Flask-HTTPAuth 的存根?我如何测试code.py:from flask_httpauth import HTTPAuthdef autho(a: HTTPAuth):    return a.get_auth()然后:$ pip install flask_httpauth flask_httpauth-stubs$ mypy code.pycode.py:1: error: Skipping analyzing 'flask_httpauth': found module but no type hints or library stubscode.py:1: note: See https://mypy.readthedocs.io/en/latest/running_mypy.html#missing-importsFound 1 error in 1 file (checked 1 source file)我还尝试将包重命名为flask_httpauth-stubs以防 CASE 或破折号/下划线重要。相同的结果。
查看完整描述

1 回答

?
森林海

TA贡献2011条经验 获得超2个赞

您的尝试似乎在其他方面都很完美,但是在您的存根分发包安装的 Python 包的命名中存在一个小错误。由于代码位于名为“flask_httpauth”(带下划线)的 Python 包中,因此存根必须位于名为“flask_httpauth-stubs”的 Python 包中,即名称完全相同但附加了“-stubs”。

我创建了一个拉取请求来修复您的存根包: https://github.com/MartinThoma/flask-httpauth-stubs/pull/1

code.py我检查过,当使用以下微小更改安装存根时,您的示例可以很好地进行类型检查:

$ mypy code.py 
Success: no issues found in 1 source file


查看完整回答
反对 回复 2023-10-06
  • 1 回答
  • 0 关注
  • 56 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信