在macOS的Python 2.7环境中安装rpy2遇错求助
解决macOS High Sierra + Python 2.7.10安装rpy2的问题
我来帮你搞定这个安装难题,你遇到的两个错误都是这个环境下的典型问题,咱们一步步来解决:
先搞定clang: error: unsupported option '-fopenmp'
macOS自带的Clang编译器不支持OpenMP,这就是你装rpy2-2.7.0时报错的核心原因。有两个办法解决:
办法1:用Homebrew装支持OpenMP的GCC
- 要是还没装Homebrew,先装一个:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - 安装gcc@7(这个版本和rpy2-2.7.0适配性最好):
brew install gcc@7 - 临时指定用GCC来编译安装:
CC=gcc-7 CXX=g++-7 sudo pip install rpy2-2.7.0.tar.gz
办法2:直接修改rpy2配置,禁用OpenMP
不想装GCC的话,直接改rpy2的编译参数就行:
- 先解压你下载的安装包:
tar -xzf rpy2-2.7.0.tar.gz cd rpy2-2.7.0 - 打开
setup.py文件,搜索包含-fopenmp的行——一般在extra_compile_args和extra_link_args这两个参数里,把'-fopenmp'删掉就行。 - 然后执行本地安装:
sudo python setup.py install
再解决Command "python setup.py egg_info" failed的问题
这个错误是因为现在新版的rpy2已经彻底放弃支持Python2.7了,你直接pip install rpy2会拉取不兼容的新版本,所以你选rpy2-2.7.0是完全正确的——这是最后几个支持Python2.7的rpy2版本之一,只要解决上面的编译问题,就能顺利装上。
额外提醒
- 确保你的R已经装好,而且Python能找到它。可以先检查
R_HOME环境变量:
如果是空的,临时设置一下(假设你的R装在默认路径):echo $R_HOME
再跑安装命令。export R_HOME=/Library/Frameworks/R.framework/Resources - 尽量别用
sudo装,权限不够的话,用pip install --user rpy2-2.7.0.tar.gz安装到用户目录,能避免不少权限问题。
内容的提问来源于stack exchange,提问作者Yves
相关产品推荐
相关产品推荐

