解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)


Posted in Python onMarch 05, 2020

发现问题

当我用pip安装好opencv-pyton后,我激动得在python项目中导入cv2
就像这样:

import cv2 as cv

but…
码代码时竟然没有自动补全!!!这我还能忍,可是CTRL+左键竟然不能看源码!!!!!!就像这样:

解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

这我就受不了了。于是开始找解决方法

解决问题

查找解决方法,
有的说要将cv2.cp36-win_amd64.pyd文件挪到site-packages下;
有的说要修改_init_.py文件
有的说…

直到我看到https://segmentfault.com/q/1010000008971601这篇文章

解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

于是突然顿悟!

解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

原来真正的实现opencv功能的cv2模块是在cv2/data文件夹下

而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__)

它的目的就是将cv2/data/下的真正的cv2功能模块放在cv2目录下,也就意味着
变成了这种形式:cv2/cv2

所以你在导入cv2模块儿时要这样做

解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

正确的做法

import cv2.cv2 as cv

自动提示的功能出现了。

解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

CTRL+鼠标左键查看源码的功能也回来了。

解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

针对一些疑惑进行可能的解答,也不知道对不对。

由于我之前升级过IDE,所以这个项目是我从外部导入的,首先我为这个项目选择python解释器路径,然后就会出现下图的进度条。(这个项目在构建之初,用virtualenv建立了一个独立的环境,所以python解释器选择的是项目路径下的。)

库文件在刚刚被添加到项目中时,pycharm会针对这个库文件,构建索引(building index)。然后会显示一个进度条,在进度条走完之前,使用这个库中的方法确实会出现无法自动提示的问题。

解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

等待进度条走完,也就是python环境中的库都被构建索引,然后再使用库中的方法,自动提示就有了。

这是我新建的.py文件,然后进行的测试

解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

总结

到此这篇关于解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)的文章就介绍到这了,更多相关pycharm opencv-python导入cv2无法自动补全内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中的rjust()方法使用详解
May 19 Python
python 生成器生成杨辉三角的方法(必看)
Apr 10 Python
单链表反转python实现代码示例
Feb 08 Python
详解如何将python3.6软件的py文件打包成exe程序
Oct 09 Python
Pandas之ReIndex重新索引的实现
Jun 25 Python
Django后台admin的使用详解
Jul 08 Python
python实现将列表中各个值快速赋值给多个变量
Apr 02 Python
Python 中由 yield 实现异步操作
May 04 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
May 24 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
python图片验证码识别最新模块muggle_ocr的示例代码
Jul 03 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
浅谈Python的方法解析顺序(MRO)
Mar 05 #Python
python环境下安装opencv库的方法
Mar 05 #Python
Python序列化pickle模块使用详解
Mar 05 #Python
Window系统下Python如何安装OpenCV库
Mar 05 #Python
Python bytes string相互转换过程解析
Mar 05 #Python
Python 从attribute到property详解
Mar 05 #Python
Python+OpenCV实现图像的全景拼接
Mar 05 #Python
You might like
正则表达式语法
2006/10/09 Javascript
用PHP读取和编写XML DOM的实现代码
2011/02/03 PHP
php session安全问题分析
2011/06/24 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
2015/03/01 Javascript
简介JavaScript中的push()方法的使用
2015/06/09 Javascript
jquery属性,遍历,HTML操作方法详解
2016/09/17 Javascript
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
Node.js 多线程完全指南总结
2019/03/27 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
Python 中 Meta Classes详解
2016/02/13 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
anaconda中更改python版本的方法步骤
2019/07/14 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
python 实现的车牌识别项目
2021/01/25 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
法国在线药房:Shop Pharmacie
2019/11/26 全球购物
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
反四风个人对照检查材料
2014/09/26 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
法院个人总结
2015/03/03 职场文书
丧事主持词
2015/07/02 职场文书
2016特色励志班级口号
2015/12/24 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python