2

誰かがこれを手伝ってくれることを願っています。

R バージョン: 2.14.1
rpy2 バージョン: 2.2.5
python バージョン: 2.7.3

Pythonスクリプトでrpy2を使用して、依存関係としてrJavaを持つR venneulerパッケージをロードしようとしています。venneuler と rJava の両方が、R 環境内から正常にロードされます。「stats」、「car」などの他の R ライブラリは、rpy2 の importr を使用して Python にロードできます。

Python コード:

 >from rpy2 import robjects  
 >from rpy2.robjects.packages import importr  
 >venn=importr('venneuler')

次のエラーが発生します。

Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘venneuler’
Error in .Primitive("as.environment")("package:venneuler") : 
  no item called "package:venneuler" on the search list
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/rpy2/robjects/packages.py", line 117, in importr
    env = _as_env(rinterface.StrSexpVector(['package:'+name, ]))
rpy2.rinterface.RRuntimeError: Error in .Primitive("as.environment")("package:venneuler") : 
  no item called "package:venneuler" on the search list

トラブルシューティングの過程で、importr を使用して rJava を直接ロードしようとしました。

>java=importr('rJava')

次のエラーが発生します。

Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/home/adam/R/x86_64-pc-linux-gnu-library/2.14/rJava/libs/rJava.so':
  libjvm.so: cannot open shared object file: No such file or directory
Error in .Primitive("as.environment")("package:rJava") : 
  no item called "package:rJava" on the search list
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/rpy2/robjects/packages.py", line 117, in importr
    env = _as_env(rinterface.StrSexpVector(['package:'+name, ]))
rpy2.rinterface.RRuntimeError: Error in .Primitive("as.environment")("package:rJava") : 
  no item called "package:rJava" on the search list

「/home/adam/R/x86_64-pc-linux-gnu-library/2.14/rJava/libs/rJava.so」を確認すると、存在し、Java 動的ライブラリ (ldd rJava.so など) に正しくリンクされているように見えます。 .

これを修正する方法についてのアイデアはありますか?

4

2 に答える 2

2

私は同じ問題を抱えていて、Stack Overflow でいくつかの答えを探しました。ここで、私は最終的に答えを見つけました:

エラー: インストール済みのパッケージを今ロードできません

実行してみてください

R CMD javareconf -e

通常のユーザーと同じように、sudoなどを使用せずに、ライブラリをロードしてみてください。

それがうまくいったかどうか教えてください。それは私のためにしました。

乾杯!

于 2014-02-07T20:50:32.827 に答える