我正在尝试安装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
A semi-related question有同样的错误,但是在不同的情况下。这里的问题似乎与虚拟环境有关,他们使用的是预安装的Python版本而不是Brew版本。
有关如何解决此问题的任何建议?非常感谢!
更新
根据this question/solution出现Could not find a version that satisfies the requirement
错误时,这是因为
pip只会安装PEP426指定的稳定版本 默认。如果版本无法解析为兼容的PEP426版本 然后它被假定为预发布。
可以使用pip install --pre
来安装预发布包。但是,在执行此操作(或尝试使用easy_install安装pyopencv)时,我遇到错误:ImportError: cannot import name Library
。
更新2:
对这一新错误的进一步研究[{3}}。这里ImportError: cannot import name Library
来自新版本的setuptools,其中Library位于extension.py中。这样pyopencv应该将库导入为setuptools.extension.Library而不是setuptools.Library。对此的临时解决方案是手动更改此设置。但是,如果存在手动编辑第三方软件包,我更倾向于采用更合适的解决方案。有什么建议?谢谢!
更新3:
如果通过Brew正确安装了OpenCV和Python,那么只需导入cv2模块就可以在Python中使用OpenCV(如评论中所发现的那样)。这样就解决了我的问题。但是,对于其他可能需要pyopencv的人来说,我会把这个问题打开。
答案 0 :(得分:1)