【问题标题】:R: Fatal error: creating temporary file for '-e' failedR:致命错误:为“-e”创建临时文件失败
【发布时间】:2018-08-08 01:29:23
【问题描述】:
sessionInfo()

R 版本 3.5.1 (2018-07-02) 平台:x86_64-apple-darwin15.6.0 (64 位)运行于:macOS High Sierra 10.13.3

library(parallel)
makeCluster(detectCores() - 1)

R 中的输出:

致命错误:为“-e”创建临时文件失败

我该如何解决这个问题?谢谢!

【问题讨论】:

  • 如果您的操作系统在创建新文件时遇到问题,您将收到此错误。尝试在/tmp/home/youruser//var/tmp 下创建一个新的临时文件touch foo.txt,其中 R/Rscript 保存其暂存文件。检查您的硬盘驱动器是否已满,或者您的硬盘驱动器是否处于只读模式或其他原因 Rscript 由于更改了目录权限而无法创建新的临时代码文件。

标签: r linux temporary-files


【解决方案1】:

parallel 包似乎将 tmp 文件保存到 /var/tmp/。错误Fatal error: creating temporary file for '-e' failed 似乎与此位置的访问问题有关。我能够通过启用此文件夹的权限来解决问题(在我的情况下,通过将位置安装在 Docker/Singularity 映像中)。

【讨论】:

    【解决方案2】:

    您能否确认基于Seurat-included 示例数据的代码有效。

    例如,以下是否有效?

    library(Seurat)
    res <- ScaleData(object = pbmc_small, vars.to.regress = c("nUMI"))
    #Regressing out: nUMI
    #  |======================================================================| 100%
    #Time Elapsed:  2.64941716194153 secs
    #Scaling data matrix
    #  |======================================================================| 100%
    

    【讨论】:

    • 它也显示了致命错误。这就是为什么我无法弄清楚出了什么问题。可能不是因为 Seurat 包。相反,可能是因为我在 R 或 Mac 中的设置?
    • @realm 是的,可能存在更大/不同的问题。您可以在错误发生后运行traceback() 并将输出包含在您的原始问题中吗?
    • 这里是输出: 6: socketConnection("localhost", port = port, server = TRUE, blocking = TRUE, open = "a+b", timeout = timeout) 5: newPSOCKnode(names [[i]], options = options, rank = i) 4: makePSOCKcluster(names = spec, ...) 3: parallel::makeCluster(num.cores) 2: RegressOutResid(object = object, vars.to.regress = vars.to.regress,genes.regress =genes.use,use.umi = use.umi,model.use = model.use,display.progress = display.progress,do.par = do.par,num.cores = num.cores) 1: ScaleData(object = pbmc, vars.to.regress = c("nUMI", "percent.mito"))
    • @realm 不要在 cmets 中发布代码/错误(cmets 是暂时的)。我已将 traceback 输出添加到您的原始帖子中。
    • @realm 所以似乎是在使用parallel 设置并行化时产生了错误。 makeCluster(detectCores() - 1) 在 R 终端中给出了什么?
    猜你喜欢
    • 2020-01-27
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 2017-07-22
    • 2017-04-15
    • 2018-11-01
    相关资源
    最近更新 更多