我无法在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位)。
有什么可能的解决办法吗?
3条答案
按热度按时间k97glaaz1#
它不起作用的原因是因为您使用的是
.pyd
文件,该文件本质上与编译的.dll
文件相同。自动完成功能通过阅读.py
源文件(纯文本文件)来工作。请尝试从Christoph Gohlke的Python Extension Packages for Windows存储库安装OpenCV
与英特尔数学内核库优化的NumPy
软件包。该文件经常更新,是在Windows上进行任何类型的科学Python计算的人必须使用的资源。请确保先从site-packages
中删除cv2.pyd
和numpy
目录。这些新的软件包将在Sublime Text中安装自动完成引擎所需的.py
源文件。编辑
好吧,我写了上面的代码,因为它在其他一些软件包中也能很好地工作。我是一个Python 3爱好者,我从来没有安装过Gohlke的OpenCV,因为它只有Python 2绑定。在阅读了下面@CrazyCoder的评论后,我启动了Win7,他确实是绝对正确的(我之前就应该意识到这一点)-由于OpenCV是用C/C++编写的,Gohlke包中包含的唯一
.py
文件是cv.py
,其全部内容如下所示:其余部分包含在
cv2.pyd
和一堆.dll
中。从opencv.org下载完整的OpenCV Windows发行版需要291 MB,可扩展到3GB,其中的几个.py
文件用于构建OpenCV,不适合自动完成。因此,不幸的是,我不知道目前是否有解决你的问题的方法。只要把docs放在手边,也许可以看看Packt/O 'Reilly在2013年4月出版的OpenCV Computer Vision with Python。ttisahbt2#
我在Windows上构建OpenCV的自定义版本时遇到了同样的问题。下面是我解决这个问题的方法:
OpenCV在Python
site-packages
中创建了一个文件夹,如下所示:opencv site-packages因此,您需要做的只是将
python-3.9
文件夹添加到解释器中。现在正常导入cv 2模块。
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错误也得到了解决。
快乐编码