解决pycharm无法自动补全OpenCV代码--全网最全方法!

文章目录

    • 1.问题描述
    • 2.解决方法
      • 2.1 import解决法
      • 2.2 修改__init__文件
      • 2.3 添加dll文件
      • 2.4 修改pycharm的扫描路径
      • 2.5 最终解决法
    • 3.结语

1.问题描述

最近入坑了cv,那必然要涉及到了OpenCV,在pycharm中下载了OpenCV-python,正要开始愉快搬砖,突然发现代码补全没了!强迫症的我怎么能忍受这个呢!!!代码无法补全问题如下
解决pycharm无法自动补全OpenCV代码--全网最全方法!_第1张图片
于是我开始全网搜索,找了中文网站像CSDN或者知乎等等,上面方法都试了但是都不行(不过下面评论说也有解决的,可能电脑环境不同),然后我又去搜索了Stack Overflow、quora以及jetbrain自己的问答版块,终于我解决了!!!想着分享下方便后来一样问题的人来进行解决。

2.解决方法

特别说明,不保证肯定能解决,但是我这边的方法肯定是基本包罗网上所有的解决方法,并且我个人都尝试过的

2.1 import解决法

在Stack Overflow和CSDN上出现最多的解决方案便是通过import方法解决,这也是最简单的解决方案,方案如下

from cv2 import cv2
# 或者
import cv2.cv2 as cv

这两种方法本质上都是一致的,解决pycharm无法所引导cv的二进制文件,确实有一定的帮助,但是结果并不理想(这里不确定是不是其他人都跟我一样,建议试一下即可),以下是结果解决pycharm无法自动补全OpenCV代码--全网最全方法!_第2张图片
可以看到是有应用出现了,但是结果很不理想,如果有小伙伴可以接受,那也无所谓了,但是强迫症晚期无法忍受!!

2.2 修改__init__文件

在CSDN上也出现了这个解决方案,就是百度出来最上面那一篇,但是我试了下没有用(不过下面评论又说解决掉),方案如下

# 找到OpenCV的安装目录
# 我的是E:\桌面\cv-learning\venv\Lib\site-packages\cv2
# 打开__init__.py文件,将文件内容修改成以下,建议只把原来的注释掉
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__)

2.3 添加dll文件

这个方法是在Stack Overflow上看到的,不过也没用·····
找到目录下E:\桌面\cv-learning\venv\Lib\site-packages\cv2\cv2.cp37-win_amd64.pyd文件将其复制到python安装目录下中Dlls目录中即可

2.4 修改pycharm的扫描路径

pycharm每次启动都会扫描一遍当前的库文件,所以我们添加即可,不过这个我试了也没用,方案如下
打开file -> setting -> project interpreter->打开右边小齿轮解决pycharm无法自动补全OpenCV代码--全网最全方法!_第3张图片
选择show all

解决pycharm无法自动补全OpenCV代码--全网最全方法!_第4张图片
选择到当前的文件目录,点击右边工具的最下面一个
解决pycharm无法自动补全OpenCV代码--全网最全方法!_第5张图片
再点击+,把OpenCV的安装目录添加到其中即可

2.5 最终解决法

通过这个方法我最终解决了这个问题,来源于jetbrain的问答区,方案如下:
新建一个工程文件夹,确保路径无中文字符
我原来的目录是

解决pycharm无法自动补全OpenCV代码--全网最全方法!_第6张图片
修改到无中文字符之后

解决pycharm无法自动补全OpenCV代码--全网最全方法!_第7张图片
结果为

解决pycharm无法自动补全OpenCV代码--全网最全方法!_第8张图片
关键解决方案是确保python、OpenCV以及当前工程文件的文件目录中不能出现中文,一个字都不能,不然就要重装
记住查看当前解释器的路径,这里不能有中文
解决pycharm无法自动补全OpenCV代码--全网最全方法!_第9张图片
也就是上图中的有python图标的那个框框里面的路径,里面不能有中文

3.结语

花了整整一个上午,半点代码没瞎,点个赞,秋梨膏!

你可能感兴趣的:(遇到的错误,python,opencv,debug,cv)