问题描述
我使用的是完全类型感知的第三方包(在本例中为 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")'