Я пытался сохранить свою среду без излишней и чистой, поэтому я создал среду R
и уничтожил все остальные существующие R
s на своем компьютере.Используйте `rpy2` с пакетами, установленными для` R` в виртуальной среде conda?
Эта среда называется r-conda
и находится в:
/Users/jespinoz/anaconda/envs/r-conda/bin/R
я понял, у меня не было rpy2
установлен и установить его через Конда он хотел установить новую версию R
и все из r-essentials
, который я не хочу, так как у меня уже есть отлично работающая среда R.
я понял, что могу установить rpy2
для Python
связанного в R conda
среде:
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
Fixed эту ошибку, добавив в моей ~/.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
, хотя моя стандартная версия моей основной конд-среды - 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
Когда я 'conda install rpy2' из своей среды r-conda', он хочет установить еще одну версию' python', хотя для этой среды по умолчанию используется 'python', это моя основная версия' python = 3.6'. Является ли мой единственный вариант либо установить 2 версии R, 2 версий Python, либо объединить их в одну среду? Я чувствую, что есть что-то, что я могу сделать с моими путями и переменными окружения, чтобы сообщить 'rpy2', где находятся мои файлы' R'. –
Я не уверен, почему это так, но вы можете заставить его сохранить нужную версию python, включив ее в команду установки, например 'conda install rpy2 python = 3.6'. – asmeurer
Я не знал, что вы можете это сделать. Приятно, спасибо! Хотя, похоже, что я получаю некоторые противоречивые ошибки (обновление форматирования вопроса b/c) ' –