我正在尝试安装 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 的其他人,我将保留这个问题。