You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac使用pip安装OpenCV失败,排除不可行方案求解决方法

M1芯片Mac使用pip安装opencv-python缺失libavcodec.58.dylib报错解决方案

报错信息

/Users/zhaojun/Github/OpenCV_Demo/venv/bin/python /Users/zhaojun/Github/OpenCV_Demo/venv/com.ctrip.com/nowatermarkdemo.py Traceback (most recent call last): File "/Users/zhao'un/Github/OoenCV Demo/venv/com ctrio com/nowatermarkdemo ov", line 1, in <module> import cv2 as cv File 
"/Dsers/zhao"un/Github/DoenCV Demo/venv/lib/ovthon3 9/site-oacka es/cv2/ init.cv", line 5, in <module> from .cv2 import * ImportError: dlopen(/Users/zhaojun/Github/OpenCV_Demo/venv/lib/python3.9/site-packages/cv2/cv2.cpython-39-darwin.so, 2): Library not loaded: /opt/homebrew/opt/ffmpeg/lib/libavcodec.58.dylib Referenced from: /Users/zhaojun/Github/OpenCV_Demo/venv/lib/python3.9/site-packages/cv2/cv2.cpython-39-darwin.so Reason: image not found
Process finished with exit code 1

问题原因

已安装的opencv-python版本依赖FFmpeg 4.x版本的动态库,而M1芯片Mac的原生Homebrew默认会安装FFmpeg 5/6版本,对应提供的是更高版本的libavcodec库,无法匹配旧版opencv-python的依赖要求。

可行解决方案(无需Rosetta/无需Conda/无需源码编译)

方案1:升级opencv-python到适配版本

  • 先卸载所有已安装的opencv相关包,执行命令:
    pip uninstall -y opencv-python opencv-contrib-python opencv-python-headless
  • 安装4.6.0及以上版本的opencv-python,该版本已经适配M1原生架构的新FFmpeg依赖:
    pip install opencv-python>=4.6.0
  • 操作前请确保你已经激活了项目对应的虚拟环境。

方案2:安装FFmpeg 4.x版本适配现有opencv-python

如果项目有版本要求不能升级opencv-python,可以安装对应版本的FFmpeg:

  • 执行Homebrew命令安装FFmpeg 4.x版本:
    brew install ffmpeg@4
  • 将FFmpeg 4.x的路径加入环境变量,临时生效直接执行:
    export PATH="/opt/homebrew/opt/ffmpeg@4/bin:$PATH"
  • 如需永久生效,将上面的环境变量配置语句写入你的shell配置文件(/.zshrc或/.bash_profile),执行source ~/.zshrc(zsh环境)或source ~/.bash_profile(bash环境)生效即可。

内容的提问来源于stack exchange,提问作者Kakshil Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 21:15:01