Windows中OpenCV-Python的自动完成功能不起作用

cnjp1d6j  于 2022-11-08  发布在  PyCharm
关注(0)|答案(3)|浏览(178)

我无法在Windows上使用OpenCV(Python)的自动完成功能。
根据Abid的指令here,我将cv2.pyd文件粘贴到C:\Python 27\Lib\site-packages中。
在Python代码中,我导入如下内容:

import cv2.cv as cv

我还安装了numpy,它在site-packages中创建了自己的文件夹,而不像OpenCV(我直接将其粘贴到site-packages中)。
通过这种设置,即使调用了OpenCV方法,代码也能顺利执行。
但是我一直无法让autocomplete工作。我试过让它在Sublime Text 2(使用SublimeCodeIntel)和PyCharm上工作。在这两个IDE中,autocomplete对numpy导入有效,但对OpenCV导入无效。
我使用的是OpenCV 2.4.6和Python 2.7(32位)。
有什么可能的解决办法吗?

k97glaaz

k97glaaz1#

它不起作用的原因是因为您使用的是.pyd文件,该文件本质上与编译的.dll文件相同。自动完成功能通过阅读.py源文件(纯文本文件)来工作。请尝试从Christoph Gohlke的Python Extension Packages for Windows存储库安装OpenCV与英特尔数学内核库优化的NumPy软件包。该文件经常更新,是在Windows上进行任何类型的科学Python计算的人必须使用的资源。请确保先从site-packages中删除cv2.pydnumpy目录。这些新的软件包将在Sublime Text中安装自动完成引擎所需的.py源文件。

编辑

好吧,我写了上面的代码,因为它在其他一些软件包中也能很好地工作。我是一个Python 3爱好者,我从来没有安装过Gohlke的OpenCV,因为它只有Python 2绑定。在阅读了下面@CrazyCoder的评论后,我启动了Win7,他确实是绝对正确的(我之前就应该意识到这一点)-由于OpenCV是用C/C++编写的,Gohlke包中包含的唯一.py文件是cv.py,其全部内容如下所示:

from cv2.cv import *

其余部分包含在cv2.pyd和一堆.dll中。从opencv.org下载完整的OpenCV Windows发行版需要291 MB,可扩展到3GB,其中的几个.py文件用于构建OpenCV,不适合自动完成。因此,不幸的是,我不知道目前是否有解决你的问题的方法。只要把docs放在手边,也许可以看看Packt/O 'Reilly在2013年4月出版的OpenCV Computer Vision with Python

ttisahbt

ttisahbt2#

我在Windows上构建OpenCV的自定义版本时遇到了同样的问题。下面是我解决这个问题的方法:
OpenCV在Python site-packages中创建了一个文件夹,如下所示:opencv site-packages
因此,您需要做的只是将python-3.9文件夹添加到解释器中。

  • 档案
  • 设定⋯
  • Python解释器
  • 翻译器旁边的三点图标-〉显示全部...
  • 选择您的解释器,然后单击“Show paths for selected interpreter”(显示所选解释器的路径)图标
  • 将文件夹添加到cv 2站点包中

现在正常导入cv 2模块。

6vl6ewon

6vl6ewon3#

解决OPENCV-PYTHON所有问题的最好方法是卸载它并重新安装。
连我也面临着同样的问题。
我通过以下方法修复了它:
python -m pip uninstall Opencv-python
然后我用一个较低的版本重新安装了它。但不幸的是,我不知道opencv的版本;因此,通过使用一个小技巧,您可以通过运行以下命令来获得它:
python -m pip install opencv-python==
您将收到类似以下内容的错误:
ERROR: Could not find a version that satisfies the requirement opencv-python== (from versions: 3.4.0.14, 3.4.10.37, 3.4.11.39, 3.4.11.41, 3.4.11.43, 3.4.11.45, 3.4.13.47, 3.4.15.55, 3.4.16.57, 3.4.16.59, 3.4.17.61, 3.4.17.63, 4.3.0.38, 4.4.0.40, 4.4.0.42, 4.4.0.44, 4.4.0.46, 4.5.1.48, 4.5.3.56, 4.5.4.58, 4.5.4.60, 4.5.5.62, 4.5.5.64) ERROR: No matching distribution found for opencv-python==
在这里可以看到opencv-python的所有版本;选择任意一个(但不是最新的,因为最新版本的opencv-python会导致错误发生。请使用以下命令安装:
pip install opencv-python==3.4.17.61(你可以选择你的版本,但这个版本为我解决了这个问题)
然后享受您的编码....
甚至opencv-python中的AUTO-COMPLETE错误也得到了解决。
快乐编码

相关问题