在PyCharm中搞定python opencv自动补全

搞定PyCharm中opencv-python的自动补全

前言

  • 因为一直用PyCharm,但是在用opencv的时候发现opencv-python安装了之后总是不能自动补全,也不能用’Ctrl’进入函数来看注解,就很别扭。虽然用一些基本功能的时候可以通过查网上资料,但是仍旧不方便。

  • 目前网上有很多方法,但是不同的方法是需要对应opencv的不同版本。这也是造成别人能解决自动补全问题,而我们复现的时候却没有发挥作用的主要原因。

素材

需要说明的是,python与opencv-python需要对应,我目前使用的是:

  • python: 3.6.13
  • opencv-python: 3.4.4.19
  • numpy: 1.19.5
  • win10/64位

方法

  1. 找到与你python版本对应的opencv包

    我是在清华的镜像库找的(https://pypi.tuna.tsinghua.edu.cn/simple/opencv-python/)。

    打开之后找到自己需要的版本,其中cpXX对应的就是自己python的版本。python3.6.13就是cp36,win_amd64就是windows64位操作系统。
    在这里插入图片描述

  2. 点击下载

    由于不同的项目会搭建不同的虚拟环境,所以建议把包下载到项目对应虚拟环境的路径中。

    例如F:\Anaconda\envs\项目的虚拟环境\Lib\site-packages

  3. 命令行安装

    在cmd中,首先进入下载路径,然后pip安装。

    例如:

    pip install opencv_python-3.4.4.19-cp36-cp36m-win_amd64.whl
    

    文件名称一定要打全且正确。如果下载目录下只有这一个包,那用’Tab’可以补全。

  4. 修改’__init__.py’头文件

    打开’./cv2’文件夹,找到并打开’__init__.py’

    将原来内容:

    import importlib
    
    from .cv2 import *
    from .data import *
    
    # wildcard import above does not import "private" variables like __version__
    # this makes them available
    globals().update(importlib.import_module('cv2.cv2').__dict__)
    

    改为:

    import sys
    import os
    import importlib
    os.environ["PATH"] += os.pathsep + os.path.dirname(os.path.realpath(__file__))
    from .cv2 import *
    globals().update(importlib.import_module('cv2.cv2').__dict__)
    
  5. 保存并重新启动PyCharm,就Ok了

    如图:

在这里插入图片描述

总结

  1. 版本要对应
  2. 根据版本选择修改的方法。
  3. 对于新手来说,会选择最新的库,其实并不是最新就好。因为很多依赖库需要版本对应。
  4. 我的工程路径上有中文名称,但是按照本文配置之后也可以正常工作。

猜你喜欢

转载自blog.csdn.net/kakangel/article/details/127844232