Почему R / Shiny удаляет временные файлы при использовании Runapp в пакетном режиме - PullRequest
0 голосов
/ 23 января 2020

Я запускаю блестящее приложение из пакетного скрипта на сетевом диске, используя виртуальную машину Windows 10, и сразу после выполнения функции runapp выдается ошибка, которая, по-видимому, указывает на отсутствующий или недоступный временный файл:

Warning in file(filename, "r") :
  cannot open file '<%appdata%>\Local\Temp\2\Rtmp6rHKAs\file355c133f72c6': Permission denied
Error in file(filename, "r") : cannot open the connection
Warning in sourcetools::tokenize_file(path) : Failed to read file
Warning: Error in [: incorrect number of dimensions
  [No stack trace available]

Я считаю, что файл отсутствует, потому что у меня есть доступ на чтение / запись к папке Temp. Я не вижу указанный временный файл генерируется. Ошибка возникает сразу после перехода моего веб-браузера по URL-адресу веб-приложения и повторяется, если я пытаюсь обновить sh браузер. Вот мой пакетный скрипт, который указывает на Rscript.exe:

@echo off
SETLOCAL ENABLEEXTENSIONS
title SHINY TEST

set rExecutablePath="<location on network drive>\R-3.4.2\bin\Rscript.exe"
set rScript=webapp_test\run.R

rem passing arguments to R script for host and port
%rExecutablePath% --vanilla "%rScript%"

pause

Вот скрипт run.R:

library(shiny)

defaultHost <- "127.0.0.1"
defaultPort <- 4458

#Location of shiny app
dirName = sprintf("%s/webapp_test", getwd())

#running app
runApp(appDir = dirName,
       port = defaultPort,
       launch.browser=F,
       host = defaultHost,
       workerId = "",
       quiet = T,
       display.mode = "showcase",
       test.mode = F)

В папке webapp_test у меня также есть шаблон c Скрипты ui.R и server.R для «Старых верных данных гейзера», которые создаются автоматически с помощью нового многофайлового веб-приложения через RStudio. Эта ошибка также возникает, только когда я запускаю блестящее приложение через командный файл. Я могу запустить приложение в RStudio. Кроме того, другие виртуальные машины в сети могут запускать пакетный файл без проблем. Я изменил настройки хранилища на виртуальной машине, чтобы не удалять временные файлы, которые не используются моими приложениями (Настройки> Система> Хранилище> Изменить способ освобождения места). Я не уверен, почему R / Shiny будет искать временный файл, который не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...