防止重复安装软件包,或者预先在R中安装软件包
我有一个R脚本,我使用rpy2从python调用。 它使用dplyr,doBy和ggplot2。 该脚本具有这3个包的install.packages命令。 即使已经安装了软件包,它仍然会下载,构build和安装它们,这非常耗时。 有没有办法让它只做安装如果包尚未安装?
另外,我运行在Docker容器中,所以在容器被实例化之后,脚本运行的第一次不在那里。 有没有办法预加载包,在这种情况下,我不会需要这些包的install.packages命令,我的上述问题将变得没有意义。
我总是使用:
if (!require(package)) install.packages("package")
所以如果软件包在库中不可用,它将被安装。
install.packages( setdiff(required_packages, installed.packages()[,"Package"]) )
如果将required_packages
定义为required_packages
包的名称的字符向量,则此行只会安装当前不具有的包。
所以对于你的情况:
required_packages <- c("dplyr", "doBy", "ggplot2") install.packages( setdiff(required_packages, installed.packages()[,"Package"]) )
- 有没有什么方法可以找出谁在hub.docker.com上推送了一个特定标签的图片到回购站点?
- 在dockerfile中运行npm install后,node_modules不可用
- Docker如何在spec.container.env.value上使用布尔值
- 使用docker-compose或dockerfile挂载目录(不复制)
- –rm的副作用:当使用docker运行退出容器时–rm -v / myvol,卷也被移除
- 使用docker容器作为代理
- docker客户端守护进程远程群集1.12.1`pipe理器
- Spring Boot Devtools自动重启错误
- 如何解决“invoke-rc.d:policy-rc.d拒绝执行启动”当build立一个容器Ubuntu 14.04和安装apache2?