解决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字符串中查找子串小技巧
Apr 10 Python
Python中为什么要用self探讨
Apr 14 Python
编写Python脚本批量下载DesktopNexus壁纸的教程
May 06 Python
python进程管理工具supervisor的安装与使用教程
Sep 05 Python
速记Python布尔值
Nov 09 Python
理解python中生成器用法
Dec 20 Python
使用matplotlib绘制图例标签中带有公式的图
Dec 13 Python
在Python中利用pickle保存变量的实例
Dec 30 Python
python使用gdal对shp读取,新建和更新的实例
Mar 10 Python
django执行原始查询sql,并返回Dict字典例子
Apr 01 Python
Python定义一个函数的方法
Jun 15 Python
Django缓存Cache使用详解
Nov 30 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
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
Symfony学习十分钟入门经典教程
2016/02/03 PHP
PHP时间类完整代码实例
2021/02/26 PHP
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
Bootstrap项目实战之首页内容介绍(全)
2016/04/25 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
D3.js实现直方图的方法详解
2016/09/25 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
2017/03/23 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
python自动化测试之连接几组测试包实例
2014/09/28 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
Python部署web开发程序的几种方法
2017/05/05 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
css3实现3d旋转动画特效
2015/03/10 HTML / CSS
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
负责人任命书范本
2014/06/04 职场文书
四风问题对照检查材料思想汇报
2014/10/07 职场文书
中学生逃课检讨书
2015/02/17 职场文书
国庆阅兵观后感
2015/06/15 职场文书
高中化学教学反思
2016/02/22 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
Python实现自动玩连连看的脚本分享
2022/04/04 Python