MacOS 13.5(M1芯片)下rpy2加载错误求助
问题原因
你安装的R是适配M1芯片的arm64原生版本,但当前使用的Python环境是x86_64架构(通过Rosetta 2模拟运行),两者硬件架构不兼容,导致rpy2加载R的动态链接库时触发架构不匹配错误。
解决办法
方案一:统一为arm64架构(推荐)
- 卸载当前的x86_64版本Python,安装适配arm64的Python(可从Python官网下载arm64安装包,或用Homebrew执行
brew install python安装原生arm64版本) - 保留现有arm64版本的R无需更换
- 在新的arm64 Python环境中安装rpy2:
pip install rpy2 - 重启Jupyter Notebook,执行
%load_ext rpy2.ipython即可正常运行
方案二:统一为x86_64架构
- 卸载现有arm64版本的R,安装x86_64版本的R(通过Rosetta 2打开终端,再用Homebrew安装或下载x86_64的R安装包)
- 保持当前x86_64 Python环境不变,重新安装rpy2
- 用Rosetta模式打开Jupyter Notebook后,再执行加载命令
额外注意事项
- 若使用Conda管理环境,需创建对应架构的环境:arm64环境需确保Conda本身是arm64版本,执行
conda create -n arm_env python=3.11创建;x86_64环境则通过Rosetta打开终端后创建 - 安装rpy2前,可在终端执行
R --version确认R的架构(arm64会显示aarch64,x86_64显示x86_64)
内容的提问来源于stack exchange,提问作者Catherine
相关产品推荐
相关产品推荐

