r - 为什么并行集群无法加载我的 R 包?
问题描述
例如,我需要在并行处理中包含引导包。但是,clusterEvalQ 不起作用;如,工人身上没有包裹。下面是代码和输出。我认为这与图书馆位置有关,但工作人员看到的图书馆位置相同。
我搜索了类似的问题,但它们都通过 clusterEvalQ 或设置正确的库位置解决了......这似乎都不是我的问题。谢谢你的帮助!这以前有效,但现在无效。我试过删除/重新安装软件包。
.libPaths()
> [1] "C:/Users/USERNAME/Documents/R/win-library/3.5"
> [2] "C:/Program Files/R/R-3.5.0/library"
require(boot) # loads
###
cluster <- parallel::makeCluster(2)
parallel::clusterEvalQ(cl = cluster,
expr = {.libPaths()})
> [[1]]
> [1] "C:/Users/USERNAME/Documents/R/win-library/3.5"
> [2] "C:/Program Files/R/R-3.5.0/library"
>
> [[2]]
> [1] "C:/Users/USERNAME/Documents/R/win-library/3.5"
> [2] "C:/Program Files/R/R-3.5.0/library"
###
parallel::clusterEvalQ(cl = cluster,
expr = {require(boot)})
> [[1]]
> [1] FALSE
>
> [[2]]
> [1] FALSE
###
parallel::stopCluster(cl = cluster)
编辑经过一番搜索,似乎工人被扔到了不同的地方……某事。运行Sys.info()
结果
sysname release version
"Windows" ">= 8 x64" "build 9200"
nodename machine login
"NODE" "x86-64" "USERNAME"
user effective_user
"USERNAME" "USERNAME"
而在工人是
sysname release version
"Windows" "10 x64" "build 14393"
nodename machine login
"NODE" "x86-64" "USERNAME"
user effective_user
"USERNAME" "USERNAME"
“NODE”和“USERNAME”在两者上都是相同的。那么......工人是否被扔到不同的 Windows 版本?我电脑上的系统信息显示工人列出的版本。
我尝试使用 Rgui 而不是 Rstudio,并Sys.info()
返回与工作人员相同的信息。但是,它显示已安装引导。然而,使用 Rgui 创建Sys.info()
的工人(与工人相同)也找不到引导包。
我对此不知所措。该代码在另一台计算机上运行良好。
解决方案
推荐阅读
- c - 被杀死多次的进程没有收到信号 SIGUSR1
- machine-translation - 使用 MVN 操作编译 InferenceEngine Openvino 失败
- python - 用两个线程计数时,什么决定了打印结果的顺序?
- php - 将 Wordpress 侧边栏从页脚移到另一侧
- kotlin - 覆盖另一个包中的内部方法
- java - 从 Java 调用“内置”Linux 命令
- mysql - Python MySQL-连接器插入长文本字符串
- python - 计算曲线下面积时面积的负值
- ms-word - 按文档中的标记名称对 Microsoft Word 书目进行排序
- javascript - 设置 if 条件以返回或设置条件以在 javascript 上执行代码