强制mypy对第三方包装进行类型检查

2024-10-16 20:46:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是一个完全支持类型的第三方包(在本例中为jsonrpcserver,但这个问题可能会应用于其他包),甚至在其源代码中包含一个py.typed文件

但是,由于打包错误,py.typed文件未安装

因此,mypy坚持认为

error: Skipping analyzing 'jsonrpcserver.response': found module but no type hints or library stubs

尽管我可以说模块确实有类型提示。是否有一种方法可以强制mypy分析这个包,即使它缺少py.typed?我不应该为此创建存根库,因为包在其他方面是类型感知的


Tags: 文件py类型源代码response错误errormodule
1条回答
网友
1楼 · 发布于 2024-10-16 20:46:26

我不知道有什么好办法可以做到这一点。在this mypy github issue中有一些讨论是关于引入一个标志来实现这一目的的,但现在还没有

现在一个不太好的方法是在运行mypy之前自己创建py.typed文件(前面提到here)。可能作为设置测试环境或类似环境的脚本的一部分

获取该文件的正确路径:

python -c 'import jsonrpcserver; print(jsonrpcserver.__path__[0] + "/py.typed")'

相关问题 更多 >