搞定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位
方法
-
找到与你python版本对应的opencv包
我是在清华的镜像库找的(https://pypi.tuna.tsinghua.edu.cn/simple/opencv-python/)。
打开之后找到自己需要的版本,其中cpXX对应的就是自己python的版本。python3.6.13就是cp36,win_amd64就是windows64位操作系统。
-
点击下载
由于不同的项目会搭建不同的虚拟环境,所以建议把包下载到项目对应虚拟环境的路径中。
例如
F:\Anaconda\envs\项目的虚拟环境\Lib\site-packages
-
命令行安装
在cmd中,首先进入下载路径,然后pip安装。
例如:
pip install opencv_python-3.4.4.19-cp36-cp36m-win_amd64.whl
文件名称一定要打全且正确。如果下载目录下只有这一个包,那用’Tab’可以补全。
-
修改’__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__)
-
保存并重新启动PyCharm,就Ok了
如图:
总结
- 版本要对应。
- 根据版本选择修改的方法。
- 对于新手来说,会选择最新的库,其实并不是最新就好。因为很多依赖库需要版本对应。
- 我的工程路径上有中文名称,但是按照本文配置之后也可以正常工作。