解决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中的anydbm模版和shelve模版使用指南
Jul 09 Python
十条建议帮你提高Python编程效率
Feb 16 Python
纯python实现机器学习之kNN算法示例
Mar 01 Python
浅析Python数据处理
May 02 Python
Django中间件实现拦截器的方法
Jun 01 Python
对python numpy.array插入一行或一列的方法详解
Jan 29 Python
python+pyqt5实现图片批量缩放工具
Mar 18 Python
python字符串查找函数的用法详解
Jul 08 Python
Python单元测试与测试用例简析
Nov 09 Python
用python给csv里的数据排序的具体代码
Jul 17 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 Python
浅谈Python数学建模之数据导入
Jun 23 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 中英文语言转换类
2011/09/07 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
基于jQuery制作迷你背词汇工具
2010/07/27 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
2015/04/06 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
Python解决走迷宫问题算法示例
2018/07/27 Python
PyCharm鼠标右键不显示Run unittest的解决方法
2018/11/30 Python
python logging.info在终端没输出的解决
2020/05/12 Python
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
英语自荐信范文
2013/12/11 职场文书
物流司机岗位职责
2013/12/28 职场文书
园林毕业生自我鉴定范文
2013/12/29 职场文书
七年级地理教学反思
2014/01/26 职场文书
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
转让协议书范本
2014/04/15 职场文书
母亲节演讲稿
2014/05/27 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
2014年财务部工作总结
2014/11/11 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS