Использовать `rpy2` с пакетами, установленными для` R` в виртуальной среде conda?

Я пытался сохранить свою среду не избыточной и чистой, поэтому я создал среду R и уничтожил все остальные существующие R s на своем компьютере.

Эта среда называется r-conda и она находится в:

/Users/jespinoz/anaconda/envs/r-conda/bin/R

Я понял, что у меня не установлен rpy2 и для его установки через conda он хотел установить новую версию R и все необходимые для этого r-essentials rpy2 так как у меня уже есть отлично работающая среда R.

Я понял, что могу установить rpy2 для Python связанного в среде R conda :

 source activate r-conda pip install rpy2 source deactivate 

Но не все пути выстроены

Как я могу заставить rpy2 распознать все связанные с R файлы и пути в моей среде r-conda ?

Он не находит файлы правильно, когда я пытаюсь импортировать пакеты:

 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/:$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 

Поэтому я попробовал это, затем получил ту же ошибку:

 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" 

Если я использую conda install rpy2 он хочет установить Python=3.5.2 хотя моя стандартная версия моей основной среды conda – Python=3.6 . @asmeurer дала предложение указать Python=3.6 при установке rpy2 в моей среде r-conda но теперь это выглядит как конфликтующая ошибка пакета:

 (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 

One Solution collect form web for “Использовать `rpy2` с пакетами, установленными для` R` в виртуальной среде conda?”

Вы должны conda install rpy2 вместо того, чтобы устанавливать его. Кроме того, активируйте среду. Вам необходимо установить python и любые пакеты Python, которые вы хотите использовать, в ту же среду R, чтобы все было сделано в одной среде.

Python - лучший язык программирования в мире.