1
我使用的集羣不可能全局安裝特定的R版本。鑑於我建了一個特定版本的R上的文件夾:如何使用qsub在HPC上使用本地R安裝
<generic_path>/R/R-X.Y.Z
,我在本地安裝一些軟件包:
<generic_path/R/packages
如何設置,在shell腳本(bash)的,環境變量和別名來運行這個特定的R版本,從本地軟件包目錄加載軟件包?
我使用的集羣不可能全局安裝特定的R版本。鑑於我建了一個特定版本的R上的文件夾:如何使用qsub在HPC上使用本地R安裝
<generic_path>/R/R-X.Y.Z
,我在本地安裝一些軟件包:
<generic_path/R/packages
如何設置,在shell腳本(bash)的,環境變量和別名來運行這個特定的R版本,從本地軟件包目錄加載軟件包?
選項1: 使用對HPC(在我的情況下的qsub腳本)一個外殼腳本,這是可能的通過運行一個外殼腳本(例如在bash),其包含以下行:
alias R="<path_to_R>/R/R-X.Y.Z/bin/R"
export R_LIBS="<path_to_R>/R/packages"
export PATH="<path_to_R>/R/R-X.Y.Z/bin:${PATH}"
腳本(這裏我把它命名爲makeenv.sh)可以使用qsub腳本中與運行:
source makeenv.sh
選項2:根據您的HPC系統上,你可能公頃已經module avail
,module load
命令,如果是的話,然後使用:
myBsubFile.sh
#!/bin/bash
# some #BSUB headers...
# ...
module load /R/R-X.Y.Z
Rscript myRcode.R
然後在R腳本加載庫爲:
myRcode.R
library("data.table", lib.loc = "path/to/my/libs")
# some more R code...
@ zx8754如果您想將此添加到我的答案,我正在將其轉換爲社區wiki – gc5
可能已經離開作爲答案,並獲得upvotes,鼓勵回答你自己的問題:),無論如何更新您的文章,將刪除我的評論。 – zx8754