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

M1 Mac Anaconda虚拟环境下Python导入OpenCV出现ImportError问题问询

M1 Mac Anaconda环境OpenCV导入报错解决方案

问题根因

报错核心原因是当前安装的OpenCV版本依赖FFmpeg 4.x系列提供的libavcodec.58.dylib库,但你设备上没有对应版本的FFmpeg,且M1芯片Mac的Homebrew默认安装路径为/opt/homebrew,和Intel芯片设备路径不同,导致OpenCV无法找到依赖库。同时你先后使用conda、pip安装OpenCV,也存在包冲突风险。

解决步骤

第一步:清理冲突的OpenCV安装包

首先激活你使用的Anaconda虚拟环境,执行以下命令卸载所有已安装的OpenCV相关包:

  • 卸载pip安装的OpenCV:
    pip3 uninstall opencv-python opencv-python-headless -y
  • 卸载conda安装的OpenCV:
    conda remove opencv -y

第二步:选择任意一种方案完成安装

推荐方案:从conda-forge源安装适配M1架构的OpenCV

conda-forge源提供了适配M1芯片的预编译OpenCV包,依赖会自动配套安装,无需手动处理FFmpeg问题,执行以下命令即可:

  1. 配置conda优先使用conda-forge源
conda config --add channels conda-forge
conda config --set channel_priority strict
  1. 安装OpenCV
    conda install opencv-python
    安装完成后直接执行import cv2即可正常使用。

备选方案:手动安装对应版本FFmpeg

如果不想更换conda源,可以手动安装FFmpeg 4.x版本补充缺失的依赖库:

  1. 安装FFmpeg 4.x版本
    arch -arm64 brew install ffmpeg@4
  2. 将FFmpeg 4.x的库路径加入ZSH环境变量,永久生效:
    echo 'export DYLD_LIBRARY_PATH=/opt/homebrew/opt/ffmpeg@4/lib:$DYLD_LIBRARY_PATH' >> ~/.zshrc
  3. 使环境变量生效
    source ~/.zshrc
  4. 重新安装OpenCV后即可正常导入。

注意事项

Anaconda虚拟环境下优先使用conda安装Python包,不要同时混用conda和pip安装同一个包,避免出现依赖冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 22:57:02