reticulate не найдет conda env в Linux

#python #r #reticulate

#python #r #сетчатый

Вопрос:

Это сводит меня с ума:

 root@1f248ca02fb8:/# which python
/miniconda/bin/python
 

Но тогда

 root@1f248ca02fb8:/# Rscript -e 'library(reticulate); py_config()'
Error: Python shared library not found, Python bindings not loaded.
Use reticulate::install_miniconda() if you'd like to install a Miniconda Python environment.
Execution halted
 

Почему сетчатый не может найти miniconda?

Обновить

Это также не помогло:

 root@1f248ca02fb8:/# Rscript -e 'library(reticulate); use_miniconda("/miniconda/bin/python", required=T); py_config()'Error in use_miniconda("/miniconda/bin/python", required = T) : 
Miniconda is not installed.
Use reticulate::install_miniconda() to install Miniconda.
Execution halted
 

Ответ №1:

Если вы хотите избежать этой ошибки, вам просто нужно указать reticulate , какую среду использовать.

Для обычного Python: просто добавьте use_python("/usr/bin/python", required=T) в свой код.

Для miniconda:

 use_miniconda("/miniconda/bin/python", required = T)
 

Или другой путь к двоичному файлу python. Также возможна обычная conda или другая среда. Затем проверьте документацию

Комментарии:

1. @coulminer поскольку у меня нет опыта работы с miniconde, вы use_python тоже пробовали это делать?

2. да, я сделал @mischva11, тоже не помогло. В конце концов я сдался, удалил установку miniconda и установил ее снова явно через «install_miniconda ()», и это сработало. На самом деле все это произошло в Dockerfile, так что, возможно, я неправильно настроил установку miniconda.