You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PyCharm中OpenCV函数引用缺失,自动补全功能失效求助

我之前也碰到过一模一样的问题!明明代码跑起来完全正常,但PyCharm就是认不出OpenCV的函数,自动补全直接失效,太闹心了。结合你用的OpenCV 3.4.0、Python 3.6.4和PyCharm环境,给你几个亲测有效的解决办法:

解决PyCharm无法识别OpenCV函数引用的方案
  • 确认PyCharm使用的解释器正确
    有时候PyCharm默认加载的不是你安装了opencv-python的那个Python环境。你可以通过以下步骤检查:

    1. 点击顶部菜单栏的File > Settings > Project: [你的项目名称] > Python Interpreter
    2. 查看已安装包列表,确认opencv-python(版本3.4.0)在列表里。如果没有,点击右上角的齿轮图标选择Add,找到你安装Python 3.6.4的路径,选中对应解释器添加后切换过来即可。
  • 清除PyCharm缓存并重启
    PyCharm的索引缓存偶尔会出现异常,导致静态分析失效。操作起来很简单:

    1. 点击File > Invalidate Caches...
    2. 在弹出的窗口里勾选Invalidate and Restart,等待PyCharm重启并重新构建项目索引。这个方法解决过我绝大多数的类似问题。
  • 手动修改OpenCV的__init__.py文件
    早期版本的opencv-python包,cv2文件夹下的__init__.py是通过动态方式加载模块的,PyCharm的静态分析工具没法识别这种动态导入。你可以这么操作:

    1. 找到你Python环境下site-packages里的cv2文件夹
    2. 打开里面的__init__.py文件,备份原内容后,把动态加载的代码替换成:
      from .cv2 import *
      
    3. 保存文件后重启PyCharm,应该就能正常识别函数并启用自动补全了。
  • 安装对应版本的opencv-contrib-python
    你可以尝试安装和当前OpenCV版本一致的opencv-contrib-python包,打开命令提示符执行:

    pip install opencv-contrib-python==3.4.0
    

    有些时候contrib版本的包包含更完善的静态索引信息,能被PyCharm更好地识别。

内容的提问来源于stack exchange,提问作者prog

火山引擎 最新活动