2017-02-09 16 views
1

私は自分の環境を冗長で清潔に保つために、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 

答えて

1

:私のr-conda環境でrpy2を設置するが、今、それはパッケージ競合エラーのように見ているとき@asmeurerはPython=3.6を指定するための提案を行いました。また、環境を活性化したままにしておきます。 pythonと同じR環境に使用するPythonパッケージをインストールして、すべてが単一の環境で実行されるようにする必要があります。

+0

私の 'r-conda'環境から' rpy2'をインストールするとき、その環境のデフォルト 'python'が私のメインバージョン' python = 3.6'でも、別のバージョンの 'python'をインストールしたいと思っています。 Rの2つのバージョン、2つのバージョンのPythonをインストールするか、またはそれらを同じ環境にマージする唯一のオプションはありますか?私の 'R'ファイルがどこにあるかを' rpy2'に伝えるために私のパスと環境変数でできることがあるように感じます。 –

+0

私はそれがなぜ起こっているのか分かりませんが、 'conda install rpy2 python = 3.6'のように、あなたが望むpythonバージョンをインストールコマンドに含めることを強制することができます。 – asmeurer

+0

私はあなたがそれを行うことができるか分からなかった。よかった、ありがとう!しかし、私はいくつかの矛盾するエラーが出てきているようです(質問b/cの書式を更新しています) ' –

関連する問題