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

标签 r macos python-2.7 rpy2

我看到很多不同的人发布了这个问题(例如: Tried to guess R's HOME but no R command in the PATH. OsX 10.6Installing rpy2 on Mac OSX 10.8.5 ),但我还没有找到可行的解决方案。

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

pip install rpy2

easy_install rpy2

我不断收到相同的错误错误:试图猜测 R 的 HOME 但路径中没有命令“R”

经过一番谷歌搜索后,我决定尝试下载最新版本的 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/

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

附录

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

最佳答案

我现在发现 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

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

关于r - 为什么 Rpy2 没有安装在我的 OSX Sierra 终端中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45236592/

相关文章:

python - 从另一个目录导入文件

r - 比较几列的顺序并确定它们与引用点之间的差异

R studio List 和 Dataframes 自动名称完成不再起作用

macos - 无法在 Mac 上找到使用 pip 安装的 Ansible

objective-c - NSDateFormatter 难题!这是新的 Mountain Lion Bug 吗?

objective-c - 使用 NSMetadataQuery 或 MDQuery 设置批处理参数

python - Kivy:在重新进入屏幕时将切换按钮重置为 "normal"

postgresql - Postgresql 中的意外死锁(使用 psycopg2 时)

r - 按列分组并按 R 中的另一列排序

r - 问 : Create leaflet map in for loop in rmarkdown html