PyQt5存根文件

时间:2018-06-27 10:24:26

标签: python-3.x pyqt5 mypy

我刚刚启动了一个当前在virtualenv中运行的PyQt5项目。 PyQt5是使用经典的 pip install pyqt5 安装的。

我想使用mypy输入检查我的应用程序。 但是当我运行它时,出现一个错误消息,告诉我PyQt5没有存根文件。

myapp/__main__.py:3: error: No library stub file for module 'PyQt5.QtWidgets

我已经检查了virtualenv的站点程序包,实际上,其中没有任何 .pyi 文件。

检查documentation时,我发现可以生成存根文件(并且至少可以从PyQt5.6开始存在,我正在使用5.10)。

是否有一种无需手动编译库即可获取这些文件的方法?

2 个答案:

答案 0 :(得分:2)

我在PyQt5中遇到了同样的问题。因此,我决定放入PyQt5-stubs,其中包含主要PyQt5模块的存根文件。

您可以使用pip安装它:

$ pip install pyqt5-stubs

另一个适合您的解决方案是将 Qt for Python (PySide2)更改为。它们提供适当的类型注释。

答案 1 :(得分:1)

当前不是。

PEP 561(用于指定软件包应如何指示它们提供类型信息)最近已被接受。 (完全公开,我是作者)。

PyQt5将需要与PEP兼容,然后,只要您使用mypy> = 0.600,一切都会按预期进行。