2016-04-07 26 views
2

に取り組んでいます。Pythonのrpy2エラー私はトラブル<code>rpy2</code>を使用してPythonでR-パッケージ<code>edgeR</code>のロードを抱えているedgeRとR-パッケージをロードし、それがインストールされ、R

私が実行します。

import rpy2.robjects as robjects 

robjects.r(''' 
    library(edgeR) 
''') 

私は次のエラーを取得する:

/home/user/.local/lib/python2.7/site-packages/rpy2/robjects/functions.py:106: UserWarning: Loading required package: limma 

    res = super(Function, self).__call__(*new_args, **new_kwargs) 
/home/user/.local/lib/python2.7/site-packages/rpy2/robjects/functions.py:106: UserWarning: Error in dyn.load(file, DLLpath = DLLpath, ...) : 
    unable to load shared object '/data/scratch/user/source/anaconda/lib/R/library/edgeR/libs/edgeR.so': 
    /data/scratch/user/source/anaconda/lib/R/library/edgeR/libs/edgeR.so: undefined symbol: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev 

    res = super(Function, self).__call__(*new_args, **new_kwargs) 
/home/user/.local/lib/python2.7/site-packages/rpy2/robjects/functions.py:106: UserWarning: Error: package or namespace load failed for ‘edgeR’ 

    res = super(Function, self).__call__(*new_args, **new_kwargs) 
Traceback (most recent call last): 
    File "differential_expression.py", line 221, in <module> 
    diff_expr_object.run_edgeR() 
    File "differential_expression.py", line 127, in run_edgeR 
    probs = call_edger(data, groups, sizes, genes) 
    File "differential_expression.py", line 64, in call_edger 
    ''') 
    File "/home/user/.local/lib/python2.7/site-packages/rpy2/robjects/__init__.py", line 321, in __call__ 
    res = self.eval(p) 
    File "/home/user/.local/lib/python2.7/site-packages/rpy2/robjects/functions.py", line 178, in __call__ 
    return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs) 
    File "/home/user/.local/lib/python2.7/site-packages/rpy2/robjects/functions.py", line 106, in __call__ 
    res = super(Function, self).__call__(*new_args, **new_kwargs) 
rpy2.rinterface.RRuntimeError: Error: package or namespace load failed for ‘edgeR’ 

主な問題があること:

rpy2.rinterface.RRuntimeError: Error: package or namespace load failed for ‘edgeR’ 

しかし、私は次のことを実行すると:

R 
> library(edgeR) 
> sessionInfo() 
R version 3.2.2 (2015-08-14) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: CentOS release 6.5 (Final) 

locale: 
[1] LC_CTYPE=en_ZA.UTF-8  LC_NUMERIC=C    
[3] LC_TIME=en_ZA.UTF-8  LC_COLLATE=en_ZA.UTF-8  
[5] LC_MONETARY=en_ZA.UTF-8 LC_MESSAGES=en_ZA.UTF-8 
[7] LC_PAPER=en_ZA.UTF-8  LC_NAME=C     
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
[11] LC_MEASUREMENT=en_ZA.UTF-8 LC_IDENTIFICATION=C  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] edgeR_3.12.0 limma_3.26.9 
> 

私はedgeRが正常にインストールされ、Rで実行されていることがわかります。なぜPythonで動かないのでしょうか?他のパッケージをrpy2から読み込もうとしました。 library(tools)は正常に動作しました。

+0

チェックをこのRがインストールする場合は、同じアナコンダは、installコマンドラインで 'はR' のようなものです。それがなければ、今度はAnacondaのR(〜anaconda/bin/R)に再度edgeRをインストールする必要があります。 – tbrittoborges

答えて

1

は...

を解決策を見つけました。単に実行

conda install --channel https://conda.anaconda.org/bioconda bioconductor-edger

1

エラーは次のとおりです。

UserWarning: Error in dyn.load(file, DLLpath = DLLpath, ...) : 
    unable to load shared object '/data/scratch/user/source/anaconda/lib/R/library/edgeR/libs/edgeR.so': 
/data/scratch/user/source/anaconda/lib/R/library/edgeR/libs/edgeR.so: undefined symbol: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev 

edgeRとのためのCライブラリをロードすることはできません。 RとedgeRのインストール方法の詳細はありますか? (私はアナコンダが関わっているのを見ることができます)。私が使用しているRr-baseのバージョンが同じチャネルがエラーを修正するのにedgeRをインストールし、condaを使用してインストールしたので

関連する問題