我刚刚启动了一个当前在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)。
是否有一种无需手动编译库即可获取这些文件的方法?
答案 0 :(得分:2)
我在PyQt5中遇到了同样的问题。因此,我决定放入PyQt5-stubs,其中包含主要PyQt5模块的存根文件。
您可以使用pip安装它:
$ pip install pyqt5-stubs
另一个适合您的解决方案是将 Qt for Python (PySide2)更改为。它们提供适当的类型注释。
答案 1 :(得分:1)
当前不是。
PEP 561(用于指定软件包应如何指示它们提供类型信息)最近已被接受。 (完全公开,我是作者)。
PyQt5将需要与PEP兼容,然后,只要您使用mypy> = 0.600,一切都会按预期进行。