可以使用renv创建具有特定版本R的虚拟环境吗?

时间:2020-07-07 18:14:39

标签: r rstudio virtual-environment renv

在先前使用R 3.6.3之后,我最近安装了R 4.0。要管理R存储库,我使用Rstudio(当前在Windows 10计算机上为1.2.5042)。升级到R 4.0后,几个月前我打开了一个项目,意识到默认情况下,Rstudio现在默认使用R的较新版本(及其库文件夹)。运行renv::restore()时,renv尝试为较新版本的R重新安装.lock文件中的所有库,但我看不到任何方法可以指定要继续使用R 3.6 .3及其关联的库。

基于python背景,我假设renv将创建一个虚拟环境,该虚拟环境隔离该项目使用的解释器和库(类似于anaconda环境的创建方式)。但是,在浏览了文档并进行了一些搜索之后,我没有找到隔离特定版本R的参考。但是,我发现Rstudio默认使用R的最新版本,这不一定是我想要。

我尝试使用anaconda来管理R环境。但是,Anaconda依赖于自己较小的R软件包存储库,我需要的许多库都来自将代码存储在GitHub上的研究人员。

是否有一种创建R环境的方法,可以在其中隔离R库和R本身的版本?或者,也许我不知道如何使用R / Rstudio环境?

1 个答案:

答案 0 :(得分:1)

您是正确的,renv仅管理已安装的R软件包,而不管理R解释器本身。

根据您使用RStudio的方式,您仍然可以通过设置RSTUDIO_WHICH_R环境变量来“伪造”它。例如:

export RSTUDIO_WHICH_R=/path/to/R
rstudio

将告诉RStudio“绑定”到由RSTUDIO_WHICH_R环境变量指定的R版本。

就其价值而言,将项目绑定到R的特定版本的能力是RStudio专业版的功能;但是,它在开源版本中不可用。有关更多详细信息,请参见here