我使用C ++和.pyd
构建了一个编译的Python扩展(pybind11
文件)。我想为我的.pyi
文件生成一个Python接口.pyd
文件。
也有一些类似的问题涉及mypy
stubgen
模块,但是,这个模块会产生一个UnicodeError
试图运行stubgen Dummy
,其中Dummy
是Dummy.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
文件或已编译的.pyd
文件中生成.pyi文件?
问题已记录在mypy
GitHub repository中。
答案 0 :(得分:1)
issue was registered in the mypy
GitHub source repository并固定在pull request中。
该问题的原因是,当mypy
试图确定给定模块是否为Python扩展名时,它检查了Linux上使用的.so
文件扩展名,但没有检查该扩展名。 Windows上使用的.pyd
文件扩展名。