Как я могу использовать анаконду с rstudio-сервером? - PullRequest
0 голосов
/ 18 сентября 2018

В своих проектах по науке о данных я использую conda для отслеживания всех установленных пакетов.

> conda create -n my_project R=3.4.1 r-tidyverse
> conda activate my_project
> which R 
/storage/apps/anaconda3/envs/my_project/bin/R
> R --version
R version 3.4.1 (2017-06-30) -- "Single Candle"

Как я могу использовать Anaconda R в rstudio-server?Мне известна опция конфигурации rsession-which-r, но я не могу легко переключаться между средами.

1 Ответ

0 голосов
/ 18 сентября 2018

Я создал репозиторий GitHub, содержащий два сценария, которые позволяют запускать сервер Rstudio в недемонизированном режиме из среды conda: rstudio-server-conda .

Как это работает:

Вы можете запустить rstudio-сервер в недемонизированном режиме (аналогично jupyter notebook) из среды анаконды.

> conda activate my_project
> /usr/lib/rstudio-server/bin/rserver \
   --server-daemonize=0 \
   --www-port 8787 \
   --rsession-which-r=$(which R) \
   --rsession-ld-library-path=$CONDA_PREFIX/lib

Чтобы избежать дополнительных проблем с путями к библиотекам, также необходимо запустить rsession в среде conda.Это достигается путем включения rsession в скрипт rsession.sh.Путь к упакованному исполняемому файлу rsession может быть передан rserver в качестве аргумента командной строки.

rserver # ...
    --rsession-path=rsession.sh

Наконец, при использовании нескольких пользователей для каждого пользователя должен быть сгенерирован уникальный secret-cookie-key.Путь к секретному ключу cookie можно передать rserver в качестве параметра командной строки.

uuid > /tmp/rstudio-server/${USER}_secure-cookie-key
rserver # ...
   --secure-cookie-key-file /tmp/rstudio-server/${USER}_secure-cookie-key
...