OS X 10.7上的rpy2 @rpath问题

时间:2015-12-22 17:50:17

标签: python r macos anaconda rpy2

我正在尝试使用rpy2从Python调用R。这曾经对我有用了一段时间,但我刚刚重新安装了Anaconda并升级到Python3.5和R 3.1.3(仍在OS X 10.7上)。现在我跑的时候:

from rpy2 import robjects as ro

我收到了rpath错误:

ImportError: dlopen(/Users/User1/anaconda/lib/python3.5/site-packages/rpy2/rinterface/_rinterface.cpython-35m-darwin.so, 2): 
Library not loaded: @rpath/R/lib/libR.dylib
Referenced from: /Users/User1/anaconda/lib/python3.5/site-packages/rpy2/rinterface/_rinterface.cpython-35m-darwin.so
Reason: image not found

这是来自Eclipse(Kepler)内部,使用Anaconda / conda构建python环境。 R安装是使用标准CRAN安装完成的(选择将安装在OS X 10.7上的最新版本,即3.1.3),并将其放在此处:

/Library/Frameworks/R.framework/Versions/3.1/Resources/lib/libR.dylib

看着:

otool -L _rinterface.cpython-35m-darwin.so

显示rpy2接口二进制文件要查找的路径:

_rinterface.cpython-35m-darwin.so:

@rpath/R/lib/libR.dylib (compatibility version 3.2.0, current version 3.2.2)

/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)

@rpath/./libz.1.dylib (compatibility version 1.0.0, current version 1.2.8)

/usr/lib/libicucore.A.dylib (compatibility version 1.0.0, current version 46.1.0)

/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)

/Users/aaronmeurer/anaconda/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

显示rpath调用,显然在上面安装的位置找不到libR.dylib。

我已经搜索过其他相关帖子,并尝试使用install_name_tool将@ rpath / R / lib / libR.dylib修改为libR.dylib的固定路径,但没有快乐,我收到有关_rinterface.cpython的错误消息-35m-darwin.so是一个格式错误的对象:

install_name_tool -change @rpath/R/lib/libR.dylib /Library/Frameworks/R.framework/Versions/3.1/Resources/lib/libR.dylib _rinterface.cpython-35m-darwin.so
install_name_tool: object: _rinterface.cpython-35m-darwin.so malformed object (unknown load command 16)

还有其他建议吗?

0 个答案:

没有答案