【发布时间】:2020-05-26 21:30:54
【问题描述】:
我正在尝试将 R 脚本作为具有 conda 环境的 cronjob 运行。从终端运行脚本适用于以下script.sh
/opt/anaconda/anaconda3/envs/{env-name}/bin/Rscript '/ABSOLUTE_PATH/script.R' >> '/ABSOLUTE_PATH/script.log' 2>&1
但是,将crontab -e 中的作业定义为
30 14 * * * /ABSOLUTE_PATH/script.sh
结果
Error: package or namespace load failed for 'tidyverse' in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/opt/anaconda/anaconda3/envs/admenv/lib/R/library/stringi/libs/stringi.so':
libicui18n.so.58: cannot open shared object file: No such file or directory
Execution halted
我尝试过运行它
/opt/anaconda/anaconda3/envs/{env-name}/bin/R '/ABSOLUTE_PATH/script.R' >> '/ABSOLUTE_PATH/script.log' 2>&1
source /opt/anaconda/anaconda3/bin/activate {env-name}; Rscript '/ABSOLUTE_PATH/script.R' >> '/ABSOLUTE_PATH/script.log' 2>&1
这都会导致与 cronjob 相同的错误。
在 conda conda remove r-tidyverse; conda install -c r r-tidyverse 中重新安装软件包没有帮助。
使用的 R 版本是 3.6.2 和 Anaconda 4.8.2。我该如何解决这个问题?
【问题讨论】:
标签: r cron anaconda package-managers