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

作者:枪枪枪 时间:2023-08-24 00:25:21 

发现问题

当我用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后无法自动补全的问题(不用作任何文件上的修改)

来源:https://blog.csdn.net/az9996/article/details/90546827

标签:pycharm,opencv,python,cv2
0
投稿

猜你喜欢

  • IE中伪类:hover的使用及BUG

    2007-05-11 17:04:00
  • python爬虫之场内ETF基金获取

    2021-08-18 17:51:34
  • Go语言编译原理之变量捕获

    2024-04-27 15:27:14
  • python 浮点数四舍五入需要注意的地方

    2021-11-04 04:37:56
  • Django细致讲解多对多使用through自定义中间表方法

    2022-12-12 17:22:41
  • 在python中读取和写入CSV文件详情

    2021-01-21 22:34:51
  • Python语言实现二分法查找

    2021-12-01 18:39:49
  • Python中的tuple元组详细介绍

    2023-03-02 03:54:47
  • golang 实现json类型不确定时的转换

    2024-05-05 09:26:07
  • Python的Django框架中settings文件的部署建议

    2023-07-08 21:39:43
  • 微信小程序报错: thirdScriptError的错误问题

    2024-04-19 09:47:43
  • python中return不返回值的问题解析

    2021-04-26 20:36:07
  • DW自带的行为制作弹出菜单

    2008-05-16 11:38:00
  • 解决Element中el-date-picker组件不回填的情况

    2024-04-09 11:00:47
  • Python创建文件夹与文件的快捷方法

    2022-08-31 19:50:49
  • 提高ASP性能的最佳选择第一部分

    2007-08-15 12:31:00
  • Python 打印中文字符的三种方法

    2022-11-14 10:22:07
  • Django使用HTTP协议向服务器传参方式小结

    2023-03-08 11:31:20
  • python pycharm的安装及其使用

    2023-11-04 20:27:06
  • Laravel框架用户登陆身份验证实现方法详解

    2024-04-30 08:47:12
  • asp之家 网络编程 m.aspxhome.com