4

我正在尝试安装 pyopencv。我已经通过 Brew 安装了 Python 和 OpenCV。快速which python/pip显示我正在使用通过 Brew 安装的 Python 版本作为默认版本。我已经通过 pip 安装了 numpy。但是,当我尝试运行时,pip install pyopencv我回来了:

Downloading/unpacking pyopencv
  Could not find a version that satisfies the requirement pyopencv (from versions: 2.0.wr1.0.1-demo, 2.0.wr1.0.1, 2.0.wr1.1.0, 2.1.0.wr1.0.0, 2.1.0.wr1.0.1, 2.1.0.wr1.0.2, 2.1.0.wr1.1.0, 2.1.0.wr1.2.0, 2.1.0.wr1.2.0-demo, 2.1.0.wr1.2.0)
Cleaning up...
No distributions matching the version for pyopencv
Storing complete log in /Users/golmschenk/.pip/pip.log

一个半相关的问题有同样的错误,但在不同的情况下。这里的问题似乎与虚拟环境有关,他们使用的是 Python 的预装版本,而不是 Brew 版本。

关于我如何解决这个问题的任何建议?非常感谢!

更新:

根据这个问题/解决方案出现Could not find a version that satisfies the requirement错误时,这是​​因为

默认情况下,pip 只会安装 PEP426 指定的稳定版本。如果某个版本无法解析为兼容的 PEP426 版本,则假定它是预发布版本。

这可以解决使用pip install --pre安装预发布包。但是,在执行此操作(或尝试使用 easy_install 安装 pyopencv)时,我遇到了错误:ImportError: cannot import name Library.

更新 2:

对这个新错误的进一步研究提出了这个问题/解决方案。这里ImportError: cannot import name Library来自新版本的 setuptools,其库位于 extension.py 内部。这样 pyopencv 应该将库导入为 setuptools.extension.Library 而不是 setuptools.Library。对此的临时解决方案是手动更改它。但是,如果存在手动编辑第三方包的解决方案,我更喜欢更合适的解决方案。有什么建议么?谢谢!

更新 3:

如果 OpenCV 和 Python 已通过 Brew 正确安装,您似乎可以通过导入 cv2 模块在 Python 中使用 OpenCV(如评论中所述)。这样就解决了我的问题。但是,对于可能实际需要 pyopencv 的其他人,我将保留这个问题。

4

1 回答 1

1

似乎有效的非答案答案:)

import cv2

文档中使用“新”类型接口的任何地方都在谈论 C++(python 中的 cv2)接口。

于 2013-11-08T17:31:53.613 回答