2017-06-29 4 views
1

Rバージョン3.4以降が必要なRパッケージを使いたいと思います。 Python(3.6.1)からrpy2(2.8)までこれらのパッケージにアクセスしたいと思います。OSXでR 3.4.0と動作するrpy2のインストール

私はRのバージョン3.4がインストールされている、そしてそれはしかし/Library/Frameworks/R.framework/Resourcesに位置しており、私は私の通訳として/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6)でのpython 3.6.1をインストールして使用するpip3 install rpy2を使用する場合、私はエラーを取得:

Traceback (most recent call last): File "/Users/vincentliu/PycharmProjects/magic/rpy2tester.py", line 1, in from rpy2 import robjects File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/rpy2/robjects/init.py", line 16, in import rpy2.rinterface as rinterface File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/rpy2/rinterface/init.py", line 92, in from rpy2.rinterface._rinterface import (baseenv, ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/rpy2/rinterface/_rinterface.cpython-36m-darwin.so, 2): Library not loaded: @rpath/libiconv.2.dylib Referenced from: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/rpy2/rinterface/_rinterface.cpython-36m-darwin.so Reason: Incompatible library version: _rinterface.cpython-36m-darwin.so requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0

最初はAnacondaに起因する問題のように見えたので、Anaconda関連のファイルはすべて削除しましたが、問題は解決しません。

その後、rpy2をアンインストールしてAnacondaを再インストールし、インストールするにはconda install rpy2を使用しました。これはまた、Rバージョン3.3.2をAnaconda経由でインストールします。私はその後、/anaconda/bin/pythonに通訳を変更することができますし、rpy2をうまく使うことができますが、Rのバージョン3.4以降が必要なので、私が気にしているRパッケージは使用できませんでした。どうやら、最も古いバージョンのAnacondaがインストールできるのは3.3.2なので、Rバージョン3.4でrpy2を使うことはできますか?

この問題に対する2つの一般的な解決方法があります。 1つはcondyを介してrpy2をインストールして、何らかの形で依存するRをシステムの3.4に変更することです。もう1つの解決策は、エラーを解決することです。

Incompatible library version: _rinterface.cpython-36m-darwin.so requires version 8.0.0 or later, but libiconv.2.dylib provides version 7.0.0

多くの苦労の末、私はどちらでも良い結果が得られませんでした。

答えて

1

rpy2をアンインストールし、--verborseで再インストールしました。私は、だから私は理由がusr/libにに古いlibiconvを上にフォールバックする作る引き起こし、opt/localでlibiconvのアーキテクチャの非互換であるはず

ld: warning: ignoring file /opt/local/lib/libpcre.dylib, file was built for x86_64 which is not the architecture being linked (i386): /opt/local/lib/libpcre.dylib ld: warning: ignoring file /opt/local/lib/liblzma.dylib, file was built for x86_64 which is not the architecture being linked (i386): /opt/local/lib/liblzma.dylib ld: warning: ignoring file /opt/local/lib/libbz2.dylib, file was built for x86_64 which is not the architecture being linked (i386): /opt/local/lib/libbz2.dylib ld: warning: ignoring file /opt/local/lib/libz.dylib, file was built for x86_64 which is not the architecture being linked (i386): /opt/local/lib/libz.dylib ld: warning: ignoring file /opt/local/lib/libiconv.dylib, file was built for x86_64 which is not the architecture being linked (i386): /opt/local/lib/libiconv.dylib ld: warning: ignoring file /opt/local/lib/libicuuc.dylib, file was built for x86_64 which is not the architecture being linked (i386): /opt/local/lib/libicuuc.dylib ld: warning: ignoring file /opt/local/lib/libicui18n.dylib, file was built for x86_64 which is not the architecture being linked (i386): /opt/local/lib/libicui18n.dylib ld: warning: ignoring file /opt/local/Library/Frameworks/R.framework/R, file was built for x86_64 which is not the architecture being linked (i386): /opt/local/Library/Frameworks/R.framework/R

を見つけました。私のマシンはi386ではなくx86_64で動作しているはずなので、これは奇妙です。私はexport ARCHFLAGS="-arch x86_64"を試して、ポートを使ってlibiconvを再インストールしました。これで問題は解決しました。

+0

乾杯...それは最終的に働いた。異なるパッケージマネージャをここに混在させるのは本当に醜いですが。 – AlexDeLarge

関連する問題