问题背景:

在ubuntu20.04系统中,使用anaconda创建的虚拟环境,在vscode中能够运行调试代码,但不能提示cv2的库函数或警告未知函数。

解决方案:

Pylance 依赖 .pyi(Stub)文件来为模块提供类型提示。如果 OpenCV 缺少这些文件,可能会导致函数提示缺失。可以安装 opencv-python-headless 版本,它提供了较完整的类型提示支持:

pip install opencv-python-headless

这个版本适用于需要开发环境,但不依赖 GUI 功能的情况。

安装后能够看到大部分函数提示。

vscode中settings.json设置如下:

{
    "python.languageServer": "Pylance",
    "python.analysis.typeCheckingMode": "off",  // 关闭类型检查
    "python.analysis.completeFunctionParens": true,
    "python.analysis.extraPaths": [
        "/Path/To/Your/cv2"
    ]
}

其中的extraPaths添加所用python调用的cv2库所在路径,如"/home/xxx/anaconda3/envs/test/lib/python3.7/site-packages" 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐