Windows中的OpenCV-Python自动完成功能无法正常工作

时间:2013-09-07 09:59:20

标签: python opencv autocomplete sublimetext2 pycharm

我无法在Windows上获得OpenCV(Python)的自动完成功能。

根据Abid的说明here,我将cv2.pyd文件粘贴到C:\ Python27 \ Lib \ site-packages中。

在Python代码中,我导入如下:

import cv2.cv as cv

我还安装了numpy,它在网站包中创建了自己的文件夹,而不像OpenCV(我直接粘贴到网站包中)。

使用此设置,即使调用OpenCV方法,代码也会毫无问题地执行。

但是我无法让自动完成工作。我试图让它在Sublime Text 2(使用SublimeCodeIntel)和PyCharm上工作。在两个IDE中,自动完成适用于numpy导入,但OpenCV导入失败。

我正在使用OpenCV 2.4.6和Python 2.7(32位)。

任何可能的解决方案?

2 个答案:

答案 0 :(得分:4)

它无效的原因是因为您使用的是.pyd文件essentially the same as a compiled .dll。自动完成功能通过读取源.py文件(纯文本)来实现。尝试安装来自Christoph Gohlke的OpenCV存储库的NumPy和Intel Math Kernel Library优化Python Extension Packages for Windows软件包,该软件包经常更新,是任何进行任何科学Python计算的人必备的资源在Windows上。确保先从cv2.pyd删除numpysite-packages目录。这些新软件包将在Sublime Text中安装自动完成引擎所需的.py源文件。


<强> 修改

好的,所以我写了上面的内容,因为它适用于其他一些软件包。我是一个Python 3人,我从未安装过Gohlke的OpenCV,因为它只有Python 2绑定。在阅读下面的@ CrazyCoder的comment之后,我启动了Win7,确实他是绝对正确的(我之前应该已经意识到了这一点) - 因为OpenCV是用C / C ++编写的,唯一的.py文件包含在Gohlke包是cv.py,其全部内容如下:

from cv2.cv import *

其余内容包含在cv2.pyd和一堆.dll中。来自opencv.org的完整OpenCV Windows发行版的下载量为291 MB,扩展到3 GB,其中少数.py个文件涉及构建OpenCV,并且对自动完成目的没有任何好处。所以,不幸的是,我不知道目前是否有解决方案。请保持docs方便,也许可以查看2013年4月发布的Packt / O'Reilly的OpenCV Computer Vision with Python。祝您好运!

答案 1 :(得分:1)

在 Windows 上构建自定义版本的 OpenCV 时,我遇到了与 PyCharm 相同的问题。这是我为修复它所做的:

OpenCV 在 Python site-packages 中创建了一个文件夹,如下所示: opencv site-packages

所以您需要做的就是将 python-3.9 文件夹添加到您的解释器中。

<块引用>
  • 文件
  • 设置...
  • Python 解释器
  • 口译员旁边的三个点图标 -> 全部显示...
  • 选择您的解释器并点击“显示所选解释器的路径”图标
  • 在 cv2 站点包中添加文件夹

现在正常导入cv2模块。