【发布时间】:2014-03-14 21:03:30
【问题描述】:
到现在为止,我花了大约 15 个小时试图让 Opencv 2.4.8 在我的 Windows7 Cygwin-64 环境中与 Python 2.7.5 一起工作。
在struggle 之后,我终于设法让 Opencv 与 C++ 一起工作,但我仍然无法从 Python 调用 Opencv。
这是我在尝试导入 cv2 模块时得到的:
$ python
Python 2.7.5 (default, Oct 2 2013, 22:34:09)
[GCC 4.8.1] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>>
在 Opencv 安装(使用 cmake-gui)期间,所有关于 Python 的配置条目都已正确定义。
我已将 opencv/bin 的路径添加到我的 PATH 中。
我已将文件 cv2.pyd 从 opencv 分发版复制到我的 Python 安装的 site-packages 文件夹,但无济于事。
我尝试将 PYTHONPATH 设置为指向站点包目录,但没有帮助。
在我看来,Python 似乎不知道 cv2 模块。
非常感谢任何有关下一步尝试的指示。此外,如果有人可以提供一些关于 Python 通常如何定位外部非 Python 模块的见解,除了将相应的 .pyd 文件放在站点包库中之外,将有助于进一步排除故障。
TIA。
【问题讨论】:
-
尝试找到 64 位 python 的安装程序 here
-
谢谢。会调查的。
-
你不能在 Cygwin 的 Python 中使用
cv2.pyd(或为 Windows Python 构建的任何其他东西);它们是不相容的。为 Cygwin 构建 OpenCV 需要 several patches,但可以从 Ports 获得二进制包。 -
@Yaakov,谢谢你的结论性答案。在我能够在我的设置上运行 OpenCV/Python 之前,似乎还有一些额外的工作要做。我设法从源代码构建的 OpenCV 与 Cygwin 的 gcc/C++ 配合得很好,所以我想我现在坚持使用 C++,大多数示例似乎都是用 C++ 编写的。
标签: python opencv python-2.7 cygwin