【问题标题】:How to make a python variable persist between chunks in a markdown notebook?如何使 python 变量在 Markdown 笔记本中的块之间保持不变?
【发布时间】:2018-12-06 11:10:12
【问题描述】:

notebook模式下变量不会从一个块到下一个块保留,但在将markdown文档编织成html时会保留。

我以gist called 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)
```

在 Rstudio 1.1.453 版本中,在笔记本模式下,在一个接一个地运行块时,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

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

【问题讨论】:

  • 这与 pjcrosbie 在此 knitr 错误请求中的第三条评论有关:Python environment persistance across chunks #1440
  • 要点可能会随着时间的推移而消失或变化,您能否包含 Rmarkdown 文档的(当前)来源以保持这个问题的自给自足?
  • 如果问题与 RStudio 有关,请说明其版本。如果没有这些信息,盲目的猜测是最新(预览)版本可能已经解决了您的问题:rstudio.com/products/rstudio/download/preview

标签: python r r-markdown knitr reticulate


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多