Как создать .pyi файлы для скомпилированного расширения Python? - PullRequest
0 голосов
/ 27 июня 2018

Я строю скомпилированное расширение Python (.pyd файл) с C ++ и pybind11. Я хотел бы создать один файл .pyi интерфейса Python для моего .pyd файла.

Есть несколько похожих вопросов, относящихся к модулю mypy stubgen, однако, этот вызывает UnicodeError, пытающийся запустить stubgen Dummy, где Dummy - это Dummy.pyd file:

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

Другой проект, make-stub-files вообще не работает с .pyd файлами, что выдает ошибку ('not a python file'.

Существуют ли какие-либо инструменты, которые позволили бы мне создавать файлы .pyi либо из исходных файлов .cpp, либо из скомпилированных файлов .pyd?

Проблема зарегистрирована в mypy GitHub репозитории .

1 Ответ

0 голосов
/ 09 июля 2018

Проблема была зарегистрирована в исходном хранилище GitHub *1003* и исправлена ​​в запросе .

Причиной проблемы было то, что когда mypy пытался выяснить, является ли данный модуль расширением Python, он проверял расширение файла .so, используемое в Linux, но не проверял файл .pyd расширение, используемое в Windows.

...