首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为另一个包创建包类型存根?

如何为另一个包创建包类型存根?
EN

Stack Overflow用户
提问于 2020-10-05 14:24:35
回答 1查看 355关注 0票数 3

Python包Flask-HTTPAuth有,也可能不会有类型注释(source)。我想创建他们,并提供他们作为一个包在mypy上,而不是分叉项目。我已经创建了一个flask-httpauth-stubs package

我需要怎么做才能告诉mypy这个包提供了Flask-HTTPAuth的存根?

我如何测试

code.py:

代码语言:javascript
复制
from flask_httpauth import HTTPAuth

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

然后:

代码语言:javascript
复制
$ 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,以防大小写或破折号/下划线很重要。同样的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-06 05:33:23

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

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

我检查了您的示例code.py在安装存根时可以很好地进行类型检查,只需进行以下小更改:

代码语言:javascript
复制
$ mypy code.py 
Success: no issues found in 1 source file
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64203374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档