如何将 Conda 环境与 RStudio Server 一起使用?
How can I use Conda environments with RStudio Server?
对于我的数据科学项目,我使用 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"
如何在 rstudio-server
中使用 Conda 环境的 R?
我知道 rsession-which-r
配置选项,但我无法轻松地在环境之间切换。
我创建了一个 GitHub 存储库,其中包含两个脚本,允许您在 Conda 环境中以非守护模式启动 Rstudio 服务器:rstudio-server-conda.
工作原理:
你可以在非守护模式下启动 rstudio-server(类似于 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
对于我的数据科学项目,我使用 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"
如何在 rstudio-server
中使用 Conda 环境的 R?
我知道 rsession-which-r
配置选项,但我无法轻松地在环境之间切换。
我创建了一个 GitHub 存储库,其中包含两个脚本,允许您在 Conda 环境中以非守护模式启动 Rstudio 服务器:rstudio-server-conda.
工作原理:
你可以在非守护模式下启动 rstudio-server(类似于 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