私は自分の環境を冗長で清潔に保つために、R
環境を作り、他のすべての既存のR
を一掃しました。私はrpy2
がインストールされていなかったとcondaを通じてそれをインストールすることがR
の新しいバージョンをインストールしたかったし、すべて実現「rpy2」は、conda仮想環境で `R`用にインストールされたパッケージで使用しますか?
/Users/jespinoz/anaconda/envs/r-conda/bin/R
:
その環境はr-conda
と呼ばれ、それがですr-essentials
私はすでに完全に働いているR環境を持っているので、私は望んでいません。
私はR conda
環境の中で関連するPython
ためrpy2
をインストールすることができます実現:
source activate r-conda
pip install rpy2
source deactivate
しかし、すべてのパスのどのように私はrpy2
は私R
のすべてを認識させることができ
を並んでいます私のr-conda
環境に関連するファイルとパスはありますか?
私はpackgesをインポートしようとしていたときにそれが正しくファイルを見つけていない:
os.environ['R_HOME'] = "/Users/jespinoz/anaconda/envs/r-conda/bin/R"
from rpy2.robjects.packages import importr
importr("dynamicTreeCut")
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-29-8b0a88dfe12d> in <module>()
1 # os.environ['R_HOME'] = '/Users/jespinoz/anaconda/envs/r-conda/bin/'
2 os.environ['R_HOME'] = "/Users/jespinoz/anaconda/envs/r-conda/bin/R"
----> 3 from rpy2.robjects.packages import importr
4 importr("dynamicTreeCut")
/Users/jespinoz/anaconda/lib/python3.6/site-packages/rpy2/robjects/__init__.py in <module>()
14 import itertools
15 from datetime import datetime
---> 16 import rpy2.rinterface as rinterface
17 import rpy2.rlike.container as rlc
18
/Users/jespinoz/anaconda/lib/python3.6/site-packages/rpy2/rinterface/__init__.py in <module>()
90 del(os)
91
---> 92 from rpy2.rinterface._rinterface import (baseenv,
93 emptyenv,
94 endr,
ImportError: dlopen(/Users/jespinoz/anaconda/lib/python3.6/site-packages/rpy2/rinterface/_rinterface.cpython-36m-darwin.so, 2): Library not loaded: @rpath/R/lib/libR.dylib
Referenced from: /Users/jespinoz/anaconda/lib/python3.6/site-packages/rpy2/rinterface/_rinterface.cpython-36m-darwin.so
Reason: image not found
私~/.bash_profile
にこれを追加することによって、そのエラーを修正が、同様の新しいエラー生成: を私はこれを試して与え、エラーが変更されました:
export LD_LIBRARY_PATH="/Users/jespinoz/anaconda/envs/r-conda/lib/R/lib/:/Users/jespinoz/anaconda/pkgs/icu-54.1-0/lib/:$LD_LIBRARY_PATH"
0:
export LD_LIBRARY_PATH="/Users/jespinoz/anaconda/envs/r-conda/lib/R/lib/:$LD_LIBRARY_PATH"
>>> from rpy2.robjects.packages import importr
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jespinoz/anaconda/lib/python3.6/site-packages/rpy2/robjects/__init__.py", line 16, in <module>
import rpy2.rinterface as rinterface
File "/Users/jespinoz/anaconda/lib/python3.6/site-packages/rpy2/rinterface/__init__.py", line 92, in <module>
from rpy2.rinterface._rinterface import (baseenv,
ImportError: dlopen(/Users/jespinoz/anaconda/lib/python3.6/site-packages/rpy2/rinterface/_rinterface.cpython-36m-darwin.so, 2): Library not loaded: libicuuc.54.dylib
Referenced from: /Users/jespinoz/anaconda/lib/python3.6/site-packages/rpy2/rinterface/_rinterface.cpython-36m-darwin.so
Reason: image not found
だから私は同じエラーを得た後、これを試してみました
conda install rpy2
を使用した場合、私のメインのconda環境のデフォルトバージョンはPython=3.6
ですが、Python=3.5.2
をインストールしたいと考えています。あなたが代わりにピップのconda install rpy2
がそれをインストールする必要があり
(r-conda) jespinozlt-osx:~ jespinoz$ conda install rpy2 python=3.6
Fetching package metadata .............
Solving package specifications: .
UnsatisfiableError: The following specifications were found to be in conflict:
- python 3.6*
- r-permute
- rpy2
Use "conda info <package>" to see the dependencies for each package
私の 'r-conda'環境から' rpy2'をインストールするとき、その環境のデフォルト 'python'が私のメインバージョン' python = 3.6'でも、別のバージョンの 'python'をインストールしたいと思っています。 Rの2つのバージョン、2つのバージョンのPythonをインストールするか、またはそれらを同じ環境にマージする唯一のオプションはありますか?私の 'R'ファイルがどこにあるかを' rpy2'に伝えるために私のパスと環境変数でできることがあるように感じます。 –
私はそれがなぜ起こっているのか分かりませんが、 'conda install rpy2 python = 3.6'のように、あなたが望むpythonバージョンをインストールコマンドに含めることを強制することができます。 – asmeurer
私はあなたがそれを行うことができるか分からなかった。よかった、ありがとう!しかし、私はいくつかの矛盾するエラーが出てきているようです(質問b/cの書式を更新しています) ' –