Azure / Azure-TDSP-Utilities

Utilities and scripts developed as part of Microsoft's Team Data Science Process for productive data science
Creative Commons Attribution 4.0 International
373 stars 275 forks source link

Warning: Error in winDialog: winDialog() cannot be used non-interactively #3

Closed amitkb3 closed 7 years ago

amitkb3 commented 7 years ago

Hi, I am trying to run IDEAR.rmd and get the following error "Warning: Error in winDialog: winDialog() cannot be used non-interactively". Any idea.

Regards, Amit

session Info:

sessionInfo() R version 3.3.1 (2016-06-21) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 7 x64 (build 7601) Service Pack 1

locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 [4] LC_NUMERIC=C LC_TIME=English_United States.1252

attached base packages: [1] stats graphics grDevices utils datasets methods base

other attached packages: [1] rmarkdown_1.0

loaded via a namespace (and not attached): [1] Rcpp_0.12.6 digest_0.6.10 mime_0.5 R6_2.1.3 xtable_1.8-2 magrittr_1.5 evaluate_0.9
[8] stringi_1.1.1 miniUI_0.1.1 shinyjs_0.7 tools_3.3.1 stringr_1.0.0 shiny_0.13.2 httpuv_1.3.3
[15] yaml_2.1.13 rsconnect_0.4.3 htmltools_0.3.5

the rmarkdown log is listed below:

Loading required package: shiny

Listening on http://127.0.0.1:3994

|.. | 3% inline R code fragments

|.... | 6% label: unnamed-chunk-1 (with options) List of 3 $ echo : logi FALSE $ message: logi FALSE $ warning: logi FALSE

processing file: IDEAR.rmd Quitting from lines 23-240 (IDEAR.rmd)

Warning: Error in winDialog: winDialog() cannot be used non-interactively Stack trace (innermost first): 105: winDialog 104: eval [#29] 103: eval 102: withVisible 101: withCallingHandlers 100: handle 99: evaluate_call 98: evaluate 97: in_dir 96: block_exec 95: call_block 94: process_group.block 93: process_group 92: withCallingHandlers 91: process_file 90: knitr::knit 89: 88: do.call 87: contextFunc 86: .getReactiveEnvironment()$runWith 85: shiny::maskReactiveContext 84: reactive reactive({ out <- rmd_cached_output(file, encoding) output_dest <- out$dest if (out$cached) { if (nchar(out$resource_folder) > 0) { shiny::addResourcePath(basename(out$resource_folder), out$resource_folder) } return(out$shiny_html) } if (!file.exists(dirname(output_dest))) { dir.create(dirname(output_dest), recursive = TRUE, mode = "0700") } resource_folder <- knitr_files_dir(output_dest) perf_timer_reset_all() dependencies <- list() shiny_dependency_resolver <- function(deps) { dependencies <<- deps list() } output_opts <- list(self_contained = FALSE, copy_resources = TRUE, dependency_resolver = shiny_dependency_resolver) message("\f") args <- merge_lists(list(input = reactive_file(), output_file = output_dest, output_dir = dirname(output_dest), output_options = output_opts, intermediates_dir = dirname(output_dest), runtime = "shiny", envir = new.env()), render_args) result_path <- shiny::maskReactiveContext(do.call(render, args)) if (!dir_exists(resource_folder)) dir.create(resource_folder, recursive = TRUE) shiny::addResourcePath(basename(resource_folder), resource_folder) dependencies <- append(dependencies, list(create_performance_dependency(resource_folder))) write_deps <- base::file(file.path(resource_folder, "shiny.dep"), open = "wb") on.exit(close(write_deps), add = TRUE) serialize(dependencies, write_deps, ascii = FALSE) if (!isTRUE(out$cacheable)) { shiny::onReactiveDomainEnded(shiny::getDefaultReactiveDomain(), function() { unlink(result_path) unlink(resource_folder, recursive = TRUE) }) } shinyHTML_with_deps(result_path, dependencies) }) 73: doc 72: shiny::renderUI 71: func 70: output$reactivedoc 3: 2: do.call 1: rmarkdown::run

hangzh-msft commented 7 years ago

Hi, thanks for the feedback. To run IDEAR, you should open the Run-IDEAR.R in RStudio, and click Source. Was this how you ran it and got the error?

amitkb3 commented 7 years ago

I ran directly IDEAR in R Studio as I was getting error with running Run-IDEAR.R in RStudio. I have opened a separate issue https://github.com/Azure/Azure-TDSP-Utilities/issues/4.

Thanks for the quick response.

Regards, Amit

hangzh-msft commented 7 years ago

Hi, Amitkb3,

For issue #4, we have figured out a possible cause of the error, and provided a way to run IDEAR correctly in RStudio. Basically, you need to (1) Open _Run-IDEAR.r_ in RStudio; (2) Click _Source_ to launch IDEAR. _DO NOT_ execute the code line by line, or select all lines and click Run.

For this issue #3, running IDEAR.rmd directly will fail as expected. IDEAR.rmd should be triggered by Run-IDEAR.r in the way described above.

Hope it helps.

Let us know if you run into any other issue.