对于我的数据科学项目,我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
配置选项,但是那样我无法轻松地在环境之间切换。
我创建了一个GitHub存储库,其中包含两个脚本,这些脚本允许您从conda env内以非守护模式启动Rstudio服务器:rstudio-server-conda。
您可以jupyter notebook
在anaconda环境中以非守护模式(类似于)启动rstudio-server 。
> 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