解决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之关于类的初步认识
Oct 11 Python
Python类属性与实例属性用法分析
May 09 Python
如何在Python中编写并发程序
Feb 27 Python
python实现flappy bird游戏
Dec 24 Python
Pyqt QImage 与 np array 转换方法
Jun 27 Python
Django CBV与FBV原理及实例详解
Aug 12 Python
Django stark组件使用及原理详解
Aug 22 Python
详解一种用django_cache实现分布式锁的方式
Sep 01 Python
Python实现点云投影到平面显示
Jan 18 Python
Python集合操作方法详解
Feb 09 Python
Django-imagekit的使用详解
Jul 06 Python
python 多线程共享全局变量的优劣
Sep 24 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
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
js 编程笔记 无名函数
2011/06/28 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
JavaScript递归操作实例浅析
2016/10/31 Javascript
canvas知识总结
2017/01/25 Javascript
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
用python处理图片实现图像中的像素访问
2018/05/04 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
python 将md5转为16字节的方法
2018/05/29 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
2019/04/05 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
Python中关于浮点数的冷知识
2019/09/22 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
帕克纽约:PARKER NY
2018/12/09 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
老总助理工作岗位职责
2014/02/06 职场文书
五年级数学教学反思
2014/02/11 职场文书
校企合作协议书
2014/04/16 职场文书
教师工作自我鉴定范文
2014/09/14 职场文书
盗窃案辩护词
2015/05/21 职场文书
请学会珍惜眼前,因为人生没有下辈子!
2019/11/12 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers