如何解决强制 mypy 对第三方包进行类型检查
我使用的是完全类型感知的第三方包(在本例中为 jsonrpcserver,但此问题可能适用于其他包),甚至在其源代码中包含一个 py.typed
文件.
结果,mypy 坚持
error: Skipping analyzing 'jsonrpcserver.response': found module but no type hints or library stubs
尽管我可以说模块确实有类型提示。即使缺少 py.typed
,我是否可以强制 mypy 分析这个包?我不应该为此目的创建存根库,因为该包在其他方面是可识别类型的。
解决方法
我不知道有什么好的方法可以做到这一点。 this mypy github issue 中有一些关于为此目的引入标志的讨论,但目前还没有。
目前不太好的方法是在运行 mypy 之前自己创建 py.typed
文件(提到 here)。也许作为设置测试环境或类似环境的脚本的一部分。
获取该文件的正确路径:
python -c 'import jsonrpcserver; print(jsonrpcserver.__path__[0] + "/py.typed")'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。