如何为已编译的 Python 扩展生成 .pyi 文件?

Ale*_*kov 6 python python-extensions mypy typeshed

我使用.pydC++ 和pybind11. 我想.pyi为我的项目生成一个 Python 接口文件.pyd

有几个类似的问题涉及该mypy stubgen模块,但是,这个问题会产生一个UnicodeError尝试运行文件stubgen Dummy在哪里DummyDummy.pyd问题:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte

另一个项目make-stub-files根本不处理.pyd文件,给出('not a python file'文件,从而出现错误。

是否有任何工具可以让我从源.cpp文件或编译后生成 .pyi 文件.pyd文件生成 .pyi 文件?

该问题已在mypyGitHub 存储库中注册。

Ale*_*kov 1

该问题已在GitHub 源存储库中注册并在mypy拉取请求中修复。

问题的原因是,当mypy试图确定给定模块是否是 Python 扩展名时,它检查了.soLinux 上使用的文件扩展名,但没有检查.pydWindows 上使用的文件扩展名。