M1 Mac环境下R调用Keras提示需安装arm64e版Miniconda3的问题求助
解决M1 Mac上R环境中Keras架构不兼容问题
这个错误在Apple Silicon Mac上非常常见——你的R环境是ARM64架构的,但当前的Miniconda环境是x86_64版本的,两者架构不匹配,导致R无法加载对应的Python库文件。下面是一步步的可行解决办法:
1. 彻底卸载现有x86_64版Miniconda
首先要清理掉旧的不兼容环境:
- 打开终端,删除Miniconda目录:
rm -rf /Users/abhiishekchugh/miniconda3 - 打开你的shell配置文件(比如
~/.zshrc或~/.bash_profile),删除所有和conda初始化相关的代码块(通常是从# >>> conda initialize >>>到# <<< conda initialize <<<的部分),保存后重启终端。
2. 安装ARM原生版Miniconda3
现在Anaconda已经推出了针对Apple Silicon的原生ARM版本:
- 下载对应Apple Silicon的Miniconda3安装包(选择arm64架构版本)
- 运行安装程序,按照提示完成安装,建议使用默认路径。
3. 重新配置R与reticulate、Keras
打开RStudio或R终端,按以下步骤操作:
- 确保reticulate包是最新版本:
install.packages("reticulate") - 加载reticulate并确认它识别到了ARM版Python:
library(reticulate) # 查看当前可用的Python环境 py_discover_config() # 如果没有自动选中ARM版,手动指定路径(替换成你的Miniconda安装路径) use_python("/Users/abhiishekchugh/miniconda3/bin/python", required = TRUE) - 创建专门用于Keras的conda环境(选择支持ARM的Python版本,比如3.9或更高):
conda_create("r-keras", python_version = "3.9") use_condaenv("r-keras", required = TRUE) - 安装并初始化Keras:
install.packages("keras") library(keras) install_keras()
备选方案:用Rosetta 2转译运行(不推荐,仅当原生方案遇到问题时尝试)
如果原生ARM环境仍有依赖问题,可以用Rosetta 2转译x86_64版本的R和Miniconda:
- 右键终端应用,选择「使用Rosetta打开」
- 在这个终端里重新安装x86_64版的Miniconda和R
- 后续所有R和conda操作都在这个Rosetta终端里进行
完成以上步骤后,再尝试调用Keras相关函数,应该就能解决架构不兼容的问题了。
内容的提问来源于stack exchange,提问作者Abhiishek Chugh
相关产品推荐
相关产品推荐

