gpt4 book ai didi

python - 如何为另一个包打包类型 stub ?

转载 作者:行者123 更新时间:2023-12-04 02:30:54 24 4
gpt4 key购买 nike

Python 包 Flask-HTTPAuth 有并且可能不会有类型注释 (source)。我想创建它们并在 mypy 上将它们作为一个包提供,而不需要 fork 该项目。我创建了一个 flask-httpauth-stubs package .

我需要做什么来告诉 mypy 这个包提供了 Flask-HTTPAuth 的 stub ?

我如何测试

代码.py:

from flask_httpauth import HTTPAuth

def autho(a: HTTPAuth):
return a.get_auth()

然后:

$ pip install flask_httpauth flask_httpauth-stubs

$ mypy code.py

code.py:1: error: Skipping analyzing 'flask_httpauth': found module but no type hints or library stubs
code.py:1: note: See https://mypy.readthedocs.io/en/latest/running_mypy.html#missing-imports
Found 1 error in 1 file (checked 1 source file)

我还尝试将包重命名为 flask_httpauth-stubs 以防 CASE 或破折号/下划线很重要。相同的结果。

最佳答案

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

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

我检查了您的示例 code.py 是否可以在安装 stub 并进行此小更改时进行类型检查:

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

关于python - 如何为另一个包打包类型 stub ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64203374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com