我通过动态导入将OpenCV与我的Python应用程序打包在一起。尽管应用程序运行良好,但PyCharm无法为OpenCV生成骨架。项目结构如下:
module/
cv2/
__init__.py
cv2.so
__init__.py
现在我正在module/cv2/__init__.py
动态调用cv2.so
:
import pkg_resources
import imp
__file__ = pkg_resources.resource_filename(__name__, "cv2.so")
imp.load_dynamic(__name__, __file__)
最后module/__init__.py
包含一个导入并打印一个任意常量:
from module import cv2
print(cv2.COLOR_BGR2GRAY)
应用程序按预期运行并打印常量的值。然而,PyCharm表示无法找到参考。
如何让PyCharm检测到动态包含的模块的骨架?或者,我如何静态打包和导入.so
文件?