M1芯片MacBook Pro在Jupyter Notebook安装scipy、seaborn报错求助
M1芯片Mac Jupyter环境安装scipy、seaborn BLAS相关报错解决方案
出现该问题的核心原因是M1架构下不同Python环境的依赖、架构匹配不一致:你本机安装的是适配arm64架构的库版本,但Jupyter当前绑定的内核对应的Python环境缺失OpenBLAS、BLAS、LAPACK线性代数依赖,或是pip尝试从源码编译scipy时无法识别对应依赖路径。
分步解决步骤
- 第一步:确认Jupyter当前内核对应的Python环境路径,避免装错环境。在Jupyter的代码单元中执行以下代码获取路径:
import sys print(sys.executable)
后续所有安装操作都使用该路径下的pip/conda执行,不要直接调用全局的包管理工具。
- 第二步:优先使用arm64原生适配的conda(Miniforge/Anaconda)安装,可自动处理依赖匹配问题,执行命令:
conda install scipy seaborn openblas blas lapack - 第三步:若仅使用pip安装,先通过Homebrew安装对应依赖:
brew install openblas lapack
之后指定OpenBLAS路径再安装目标库:
export OPENBLAS="$(brew --prefix openblas)" pip install scipy seaborn
- 第四步:若上述操作仍报错,说明当前Jupyter内核是通过Rosetta转译的x86架构版本,和本机arm64依赖不兼容,替换为原生arm64内核即可:
- 终端执行命令确认Python为arm64原生版本:
python -c "import platform;print(platform.machine())",输出arm64即为符合要求的版本 - 给该Python环境安装ipykernel:
pip install ipykernel - 将该环境添加为Jupyter内核:
python -m ipykernel install --user --name=arm64-python - 重启Jupyter,切换到新添加的
arm64-python内核后重新安装scipy、seaborn即可。
- 终端执行命令确认Python为arm64原生版本:
内容的提问来源于stack exchange,提问作者sttyty
相关产品推荐
相关产品推荐

