test_py_require_reset <- function() {
.globals$python_requirements <- NULL
}
r_session <- function(exprs, echo = TRUE, color = FALSE,
attach_namespace = FALSE) {
exprs <- substitute(exprs)
if (!is.call(exprs))
stop("exprs must be a call")
exprs <- if (identical(exprs[[1]], quote(`{`)))
as.list(exprs)[-1]
else
list(exprs)
exprs <- unlist(c(
if (attach_namespace)
'attach(asNamespace("reticulate"), name = "namespace:reticulate", warn.conflicts = FALSE)',
if (echo)
"options(echo = TRUE)",
lapply(exprs, deparse)
))
writeLines(exprs, file <- tempfile(fileext = ".R"))
on.exit(unlink(file), add = TRUE)
result <- suppressWarnings(system2(
R.home("bin/R"),
c("--quiet", "--no-save", "--no-restore", "--no-echo", "-f", file),
stdout = TRUE, stderr = TRUE,
env = c(character(), if (isFALSE(color)) "NO_COLOR=1")
))
class(result) <- "r_session_record"
result
}
print.r_session_record <- function(record, echo = TRUE) {
writeLines(record)
status <- attr(record, "status", TRUE)
cat(sep = "",
"------- session end -------\n",
"success: ", if (is.null(status)) "true" else "false", "\n",
"exit_code: ", status %||% 0L, "\n")
}
registerS3method("print", "r_session_record", print.r_session_record,
envir = environment(print))
py_require_tested_packages <- function() {
py_require(c(
"docutils", "pandas", "scipy", "matplotlib", "ipython",
"tabulate", "plotly", "psutil", "kaleido", "wrapt"
))
}
py_require_tested_packages()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.