renv
在磚
renv是一個R包,讓用戶管理特定於筆記本的R依賴。
使用renv
,您可以為您的項目創建和管理R庫環境,將這些庫的狀態保存到lockfile
,然後根據需要恢複庫。總之,這些工具可以幫助使項目更加獨立、可移植和可複製。
基本renv
工作流
安裝renv
你可以安裝renv
作為一個集群級圖書館或者作為notebook-scoped圖書館.安裝renv
作為筆記本作用域的庫,使用:
install.packages(“renv”,回購=“https://cran.microsoft.com/snapshot/2021-07-16/”)
Databricks建議使用CRAN快照作為存儲庫修複包版本.
初始化renv
使用預安裝的R庫進行會話
第一步使用時renv
初始化會話使用renv: init ()
.集libPaths
將默認下載位置更改為您的R筆記本範圍的庫路徑.
renv::初始化(設置=列表(external.libraries=.libPaths())).libPaths(c(.libPaths() (2),.libPaths())
使用renv
安裝其他包
你現在可以使用renv
的API來安裝和刪除R包。例如,安裝的最新版本消化
,在筆記本單元格中運行以下程序。
renv::安裝(“消化”)
安裝舊版本的消化
,在筆記本單元格中運行以下程序。
renv::安裝(“digest@0.6.18”)
安裝消化
從GitHub,運行以下在一個筆記本單元格。
renv::安裝(“eddelbuettel /消化”)
要從Bioconductor安裝包,請在筆記本單元格中運行以下操作。
#(注意:需要BiocManager包)renv::安裝(“bioc:: Biobase”)
請注意renv:安裝
API使用renv緩存.
使用renv
將您的R筆記本環境保存到DBFS
保存環境前,請執行一次以下命令。
renv::設置$snapshot.type(“所有”)
這集renv
對已安裝到其中的所有包進行快照libPaths
而不僅僅是現在筆記本電腦上使用的那些。看到renv文檔更多信息。
現在,您可以在筆記本單元格中運行以下操作,以保存環境的當前狀態。
renv::快照(lockfile=“/ dbfs /路徑/ / /你/想要/ /保存/ renv.lock”,力=真正的)
這將更新lockfile
通過捕獲安裝的所有包libPaths
.它也會移動你的lockfile
從本地文件係統DBFS在這種情況下,即使您的集群終止或重新啟動,它也會持續存在。
重新安裝一個renv
給定的環境lockfile
從DBFS
首先,確保您的新集群運行的Databricks Runtime版本與您第一次創建的相同renv
環境。這確保了預安裝的R包是相同的。您可以在每個運行時中找到它們的列表發布說明.在你安裝renv,在筆記本單元格中運行以下程序。
renv::初始化(設置=列表(external.libraries=.libPaths())).libPaths(c(.libPaths() (2),.libPaths()))renv::恢複(lockfile=“/ dbfs /路徑/ / /你/保存/ renv.lock”,排除=c(“Rserve”,“SparkR”))
這將複製您的lockfile
文件中指定的任何包lockfile
.
請注意
為避免丟失存儲庫錯誤,請排除Rserve
而且SparkR
包恢複中的包。這兩個包都預先安裝在所有運行時中。
renv
緩存
的一個非常有用的特性renv
是它的全局包緩存,這是所有國家共享的renv
群集上的項目。它加快了安裝速度,節省了磁盤空間。的renv
方法下載的包不緩存devtools
API或install.packages ()
除了包裹
.