macOS安装OpenCV遭遇库版本不兼容问题求助
解决Anaconda安装OpenCV后的libhdf5版本冲突问题
我之前在macOS上折腾OpenCV的时候也碰到过一模一样的依赖坑,给你整理几个亲测有效的解决方法:
方法1:直接更新Anaconda的hdf5库
错误提示里明确说了libopencv_hdf.3.1.dylib需要hdf5 13.0.0及以上版本,但当前环境里的libhdf5.10.dylib版本不够。直接用conda更新hdf5就能解决:
conda install -c anaconda hdf5
这个命令会自动把环境里的hdf5升级到兼容的最新版本,覆盖掉旧的低版本库。
方法2:创建独立的Anaconda环境隔离依赖
有时候旧环境里的各种依赖已经乱了,最好的办法是新建一个干净的环境专门装OpenCV:
- 首先创建针对Python2.7的环境:
conda create -n opencv_env python=2.7 - 激活这个环境(macOS/Linux下用这个命令):
source activate opencv_env - 然后安装指定版本的OpenCV(和你之前装的3.1.0匹配):
用conda-forge源的包通常依赖处理得更完善,不容易出版本冲突。conda install -c conda-forge opencv=3.1.0
方法3:用pip安装预编译的OpenCV包
如果conda安装还是有问题,试试在激活的环境里用pip装:
pip install opencv-python==3.1.0
这个opencv-python包是官方预编译的,自带所有必要的依赖,不会和Anaconda环境里的其他库打架,对Python2.7也有对应的版本支持。
关于之前Homebrew安装失败的小补充
你之前用Homebrew装完无法导入cv2,大概率是因为你默认用的是Anaconda的Python解释器,而Homebrew把OpenCV装到了系统Python的路径里,两个环境不互通。如果想继续用Homebrew的话,可以尝试:
brew install opencv --with-python@2.7
(注意新版Homebrew可能去掉了--with-python参数,需要手动把Homebrew的OpenCV路径加到Python的sys.path里,不过还是推荐用Anaconda环境的方法更省心)
内容的提问来源于stack exchange,提问作者MG272
相关产品推荐
相关产品推荐

