为什么 Rpy2 没有安装在我的 OSX Sierra 终端中?

Bob*_*son 5 macos r rpy2 python-2.7

我已经看到许多不同的人发布了这个问题(例如:试图猜测 R 的 HOME 但路径中没有 R 命令。OsX 10.6在 Mac OSX 10.8.5 上安装 rpy2),但我还没有找到可行的解决方案。

我已经确保在我的终端中安装了 Python-2.7,并且由于我最近通过 RStudio 升级,我认为我的 R 也更新了。但是每次我尝试运行时:

pip install rpy2
Run Code Online (Sandbox Code Playgroud)

或者

easy_install rpy2
Run Code Online (Sandbox Code Playgroud)

我不断收到相同的错误Error: Tried to guess R's HOME but no command 'R' in the PATH

经过一番谷歌搜索后,我决定尝试下载最新版本的 R (v 3.4.1),尽管我非常确定它已经开始更新了。但是现在我得到了以下错误的庞然大物(我应该注意到我已经浓缩了它):

In file included from ./rpy/rinterface/_rinterface.c:122:
    ./rpy/rinterface/sequence.c:2173:1: warning: unused function 'ComplexVectorSexp_AsSexp' [-Wunused-function]
    ComplexVectorSexp_AsSexp(PyObject *pyfloat) {
    ^
    11 warnings generated.
    cc -bundle -undefined dynamic_lookup -arch x86_64 -arch i386 -Wl,-F. build/temp.macosx-10.12-intel-2.7/./rpy/rinterface/_rinterface.o -L/usr/local/lib -Lbuild/temp.macosx-10.12-intel-2.7 -L/usr/local/lib -lpcre -llzma -lbz2 -lz -licucore -lm -liconv -lr_utils -o build/lib.macosx-10.12-intel-2.7/rpy2/rinterface/_rinterface.so -fopenmp -F/Library/Frameworks/R.framework/.. -framework R
    clang: error: unsupported option '-fopenmp'
    clang: error: unsupported option '-fopenmp'
    error: command 'cc' failed with exit status 1

    ----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-zT8DaX/rpy2/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-bDnbE5-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/tmp/pip-build-zT8DaX/rpy2/
Run Code Online (Sandbox Code Playgroud)

所以现在我发生了一个完全不同的错误。我以为升级我的 R 会自动将它添加到我的环境变量 PATH 中,但现在我真的不知道如何处理这个问题。我试图用谷歌搜索这个新错误,但似乎找不到任何适合在 Mac OSX 上使用 Python-2.7 和 R-3.4 安装 Rpy2 的解决方案。有人可以提供任何建议吗?

附录

我现在尝试了各种其他方法,包括下载 XCODE 和更新我的 GCC 编译器(http://cs.millersville.edu/~gzoppetti/InstallingGccMac.html 中描述了一种这样的方法 ),我也尝试过使用命令重新安装 GCC brew reinstall gcc --without-multilib。我还编辑了我的 PATH 环境变量以包含 R、CC,但仍然没有运气。

Bob*_*son 3

我现在发现 rpy2 安装取决于所使用的正确类型的编译器。Apple的默认编译器是clang,它不支持rpy2的设置过程。因此,通过自制程序获取 gcc 编译器后,您可以运行brew ls gcc以查看计算机上存在的 gcc 编译器的文件路径。然后,我在终端中运行以下命令,将默认编译器从 clang 更改为文件路径 gcc-7,然后设置正确的标志(这是我从之前阅读编译器产生的错误消息中推断出来的),然后安装 rpy2。

export CC=/usr/local/Cellar/gcc/7.2.0/bin/x86_64-apple-darwin16.7.0-gcc-7
export CFLAGS="-W"
pip install rpy2==2.8.6
Run Code Online (Sandbox Code Playgroud)

我应该注意,我安装了 rpy2 版本 2.8.6,因为我的脚本使用 Python 2.7,而 rpy2 2.9.0 仅与 Python 3.x 兼容。此外,我知道这个答案可能无法充分描述每个人的问题,因此我鼓励其他用户扩展和/或纠正这个解决方案。