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

M1 Mac下通过pip安装matplotlib失败的问题求助

解决M1 Mac上Homebrew Python 3.9安装Matplotlib失败的问题

你遇到的这个报错我太熟悉了——之前在M1 MacBook上用Homebrew装的Python 3.9装Matplotlib时,也一模一样卡在3.3.4、3.3.3版本的编译上,反复重试都失败。先给你说根源:

Matplotlib 3.3.x系列完全没有适配M1的ARM64架构预编译包,pip找不到现成的轮子(wheel),就只能尝试从源码编译安装。但编译Matplotlib需要依赖FreeType、libpng、NumPy等库,这些库在M1的ARM环境下要么没有适配的版本,要么编译时的路径配置有问题,直接导致编译卡住然后抛出一堆错误,而且自动降级到3.3.3也没用,因为整个3.3系列都没做ARM适配。

下面给你两种解决方案,优先选第一种,省心又高效:

方法一:安装适配M1的Matplotlib新版本

Matplotlib从3.4.0版本开始正式支持ARM64架构,官方提供了预编译的wheel包,直接指定版本安装就行:

pip3 install matplotlib>=3.4.0

执行这个命令后,pip会直接下载ARM64的预编译包,不用编译,几十秒就能完成安装,亲测有效。

方法二:强制编译3.3.x版本(仅当项目必须用旧版本时)

如果因为项目依赖限制必须装3.3.x,那得先把编译依赖的系统库配齐,再指定编译路径:

  1. 先通过Homebrew安装编译所需的依赖:
brew install freetype libpng pkg-config
  1. 然后用pip强制从源码编译,同时指定Homebrew的库路径:
pip3 install matplotlib==3.3.4 --no-binary :all: --global-option=build_ext --global-option="-I/opt/homebrew/include" --global-option="-L/opt/homebrew/lib"

⚠️ 注意:这个方法编译时间很长(可能要10分钟以上),而且容易因为环境变量、依赖版本不匹配等问题失败,除非万不得已不建议用。

额外小贴士

  • 确保你的Homebrew是装在/opt/homebrew路径下的——这是M1 Mac原生ARM架构Homebrew的默认路径,如果你的Homebrew在/usr/local,说明是Rosetta2转译的x86版本,这种情况建议重装原生ARM的Homebrew,不然后续装Python包还会遇到各种架构兼容问题。
  • 先升级pip到最新版,旧版本的pip可能识别不到ARM64的预编译包:
pip3 install --upgrade pip

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 06:38:11