给以动态库形式的Python模块生成pyi
Python 里有些库是用 C/C++ 写,并编译成动态库(.pyd、.dll、.so),例如 opencv、tensorrt;这些库在 IDE 内(例如VSCode)无法给出函数及类型提示,代码写起来不方便。
mypy 可以依据动态库生成pyi,从而给 IDE 函数及类型提示。
首先安装 mypy:
pip3 install mypy
再使用一下命令生成 pyi:
stubgen -m module
例如给opencv生成pyi:
stubgen -m cv2
则会在当前目录下生成 out/cv2.pyi,再把 cv2.pyi 复制到 site-packages/cv2 里就可以了,IDE 就能正确的给出类型提示。