如何使python变量在降价笔记本中的块之间保持不变?

Pau*_*eux 5 python r knitr r-markdown reticulate

在笔记本模式下,变量不会从一个块保留到下一个块,但是在将 Markdown 文档编织到 html 时会保留它们。

我制作了一个名为 pythonvariables.Rmd的示例文档,该文件的内容是:

---
title: "R Notebook"
output:
  html_document:
    df_print: paged
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(reticulate)
```

```{python}
x = 1 
```

```{python}
print(x)
```

```{r}
print(py$x)
```
Run Code Online (Sandbox Code Playgroud)

在 Rstudio 1.1.453 版本中,在 notebook 模式下,当一个块一个接一个地运行时,print(x)python 块的输出为:

Traceback (most recent call last):
  File "C:\Users\rougipa\AppData\Local\Temp\2\RtmpQFW3Rj\chunk-code-1d44920f50.txt", line 1, in <module>
    print(x)
NameError: name 'x' is not defined
Run Code Online (Sandbox Code Playgroud)

但是,当 Rmd 编​​译为 html 时,问题不会出现。正如预期的那样,print(x)python 块的输出为1

Pau*_*eux 3

此功能适用于 Rstudio 预览版 1.2.747。出于历史目的而保留的问题。